我搞砸了一个合并。我想恢复然后再试一次。
有没有办法在提交之前恢复合并?
hg revert
不做我想做的事,它只会恢复文件的文本。Mercurial 中止了我的第二次合并尝试,并抱怨原始合并仍未提交。
Is there a way to undo a merge after an hg merge
command but before it's committed?
我搞砸了一个合并。我想恢复然后再试一次。
有没有办法在提交之前恢复合并?
hg revert
不做我想做的事,它只会恢复文件的文本。Mercurial 中止了我的第二次合并尝试,并抱怨原始合并仍未提交。
Is there a way to undo a merge after an hg merge
command but before it's committed?
hg update -C <one of the two merge changesets>
在您这样做之后hg merge
,但之前hg commit
,您的工作副本有两个父级:第一个父级是您在合并之前更新到的变更集,第二个父级是您要合并的变更集。hg merge
只要您的工作副本有两个父母,Mercurial 就不会再让您这样做。
关于如何继续,您有两种选择:
如果你想中止合并并回到你开始的地方,那么做
hg update -C .
这将更新工作副本以匹配第一个父级:.
始终表示工作副本的第一个父级。
如果你想重新合并一些文件然后做
hg resolve fileA fileB
这将像您一样重新启动合并工具hg merge
。如果您在hg merge
-time 发现合并工具配置错误,则 resolve 命令很好:修复配置并运行hg resolve --all
. 您可以根据需要运行hg resolve
多次,直到您对合并感到满意为止。
今天有hg merge --abort
。见hg help merge
。