在Mercurial中恢复特定更改的推荐方法是什么?

时间:2017-02-27 21:29:32

标签: mercurial tortoisehg revert

我有一个文件,其中一个变更集中有几个单独的块已更改。 (这不是最新的变更集。)

现在我需要在这些更改之前将这些块中的一个恢复到修订的状态。推荐的程序是什么? Mercurial / TortoiseHg是否提供任何帮助,或者我是否应该用旧内容手动替换此块?

1 个答案:

答案 0 :(得分:1)

如果您希望撤消完整的变更集,则可以使用hg backout无需人工操作即可完成。从它的帮助:

  

hg backout [OPTION] ... [ - r] REV

     

早期变更集的反向效果

     

准备一个新的变更集,当前的REV撤消效果      工作目录。如果没有遇到冲突,则会提交      立即

     

如果REV是工作目录的父级,那么这个新的变更集就是      自动提交(除非指定了--no-commit)。

     

注意:         ' hg backout'不能用来修复不需要的或不正确的          合并。

但是,由于您只需要恢复一个hunk,您可以使用hg backout然后需要使用--interactive标志进行提交,以便您可以选择正确的hunk(s)承诺:

hg commit --message "Revert some stuff" --interactive

最后,将工作目录恢复到现在未修改的状态 - 你不想改变剩余的帅哥