hg revert和hg backout有什么区别?

Iod*_*nas 20 mercurial revert backout

无论hg reverthg backout恢复由前版本所做的更改.两者有什么区别?

Iod*_*nas 36

鉴于变更集的历史:

A --- B --- C --- D --- E
          [bad]        (*)
Run Code Online (Sandbox Code Playgroud)

hg revert -r B:保持当前版本,但从版本开始更新工作目录B.它有撤销的变化补丁的效果C,DE.

hg backout -r C:更新工作目录,使其包含合并 C版本的的(B)和当前的修订,保留了两个版本(工作目录仍包含修订版的变化之间进行的变化DE).这具有应用补丁的效果E,仅撤消更改C.

您可能想要编辑一些文件,如果不是全部C都是坏的.记得hg commit在任何情况下做一个:

A --- B --- C --- D --- E --- F
          [bad]              (*)
Run Code Online (Sandbox Code Playgroud)

  • 回答我自己的问题,因为我在网上找不到任何明确的内容.希望这有助于其他人现在节省一些时间. (4认同)