【发布时间】:2012-11-25 15:04:41
【问题描述】:
hg revert 和 hg backout 都恢复以前版本所做的更改。两者有什么区别?
【问题讨论】:
hg revert 和 hg backout 都恢复以前版本所做的更改。两者有什么区别?
【问题讨论】:
鉴于变更集的历史:
A --- B --- C --- D --- E
[bad] (*)
hg revert -r B: 保持当前版本,但更新工作目录
截至修订版B。它具有撤销更改的补丁的效果
C、D 和 E。
hg backout -r C:更新工作目录,使其包含合并
修订版 C 的 parent (B) 和当前修订版,保留更改
在两个修订之间进行(工作目录仍然包含
修订版D 和E)。这具有在E 上应用补丁的效果,
仅撤消 C 的更改。
如果不是所有的C 都不好,您可能需要编辑一些文件。记得做
hg commit 无论如何:
A --- B --- C --- D --- E --- F
[bad] (*)
【讨论】:
hg update 和hg revert 之间的区别,这也可能会有所帮助。