hg revert和hg backout有什么区别?

时间:2012-12-07 12:23:35

标签: mercurial revert backout

hg reverthg backout都会还原以前版本所做的更改。这两者有什么区别?

1 个答案:

答案 0 :(得分:33)

鉴于变更集的历史:

A --- B --- C --- D --- E
          [bad]        (*)

hg revert -r B:保持当前版本,但更新工作目录 截至修订版B。它具有撤消修改的补丁的效果 CDE

hg backout -r C:更新工作目录,使其包含 merge 修订版C的父级B)和当前版本,保留更改 在两个版本之间做出的(工作目录仍然包含更改 修订版DE)。这具有在E上应用补丁的效果, 撤消仅C

的更改

如果并非所有C都不好,您可能想要编辑一些文件。记得要做 在任何情况下hg commit

A --- B --- C --- D --- E --- F
          [bad]              (*)