HG:撤消历史记录中的提交

时间:2011-05-06 15:15:08

标签: mercurial tortoisehg

我有一个转储1,2,3,4,5和6的HG存储库。

当我提交第4版时,我在不知不觉中拙劣地修改了我不应该拥有的rev3中的一些变化。直到第6版已经提交,我才注意到这一点。

我需要撤消rev 4中的更改,但之后重新应用所有其他更改。基本上撤消提交#4。我怎么能这样做?

2 个答案:

答案 0 :(得分:40)

您需要hg backout

  

恢复/撤消之前changeset ...

的效果      

通过应用与要撤消的变更集相反的变更集来进行回退。新的变更集将提交给repository,并最终合并......

答案 1 :(得分:5)

您可以使用MQ扩展名:

hg qinit
hg qimport -r 4:tip
hg qpop -a
hg qdelete 4.diff
hg qpush -a
hg qfinish -a

以上是你如何重写历史,这是你想要的。

你也可以使用hg backout但是在工作目录中撤消提交,你可以提交。