hg revert
和 hg backout
都会还原先前版本所做的更改。两者有什么区别?
最佳答案
考虑到变更集的历史:
A --- B --- C --- D --- E
[bad] (*)
hg revert -r B
:保留当前版本,但更新工作目录
自修订版 B
起。它具有撤销更改的补丁的效果
C
、D
和 E
。
hg backout -r C
:更新工作目录,使其包含 merge
修订版 C 的父级 (B
) 和当前修订版,保留更改
在两次修订之间进行(工作目录仍然包含以下更改
修订版 D
和 E
)。这具有在 E
上应用补丁的效果,
仅撤消 C
的更改。
如果不是所有 C
都不好,您可能需要编辑一些文件。记得做
无论如何,hg commit
:
A --- B --- C --- D --- E --- F
[bad] (*)
关于mercurial - hg revert 和 hg backout 之间有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13763034/