代码之家  ›  专栏  ›  技术社区  ›  deft_code

如何在Mercurial中中止合并?

  •  77
  • deft_code  · 技术社区  · 15 年前

    我搞错了一个合并。我想还原,然后再试一次。
    是否有方法在提交合并之前还原合并?

    hg revert 不做我想做的,它只还原文件的文本。Mercurial中止了我的第二次合并尝试,并抱怨原始合并仍然没有提交。

    是否有方法在 hg merge 命令,但在它被投入之前?

    2 回复  |  直到 9 年前
        1
  •  99
  •   Omnifarious    15 年前

    hg update -C <one of the two merge changesets>

        2
  •  37
  •   Martin Geisler    15 年前

    做完之后 hg merge 但以前 hg commit ,您的工作副本有两个父级:第一个父级是合并前更新到的变更集,第二个父级是要与之合并的变更集。Mercurial不会让你这么做的 HG合并 只要你的工作副本有两个父母。

    关于如何继续,您有两个选项:

    1. 如果要中止合并并返回到开始的位置,请执行

      hg update -C .
      

      这将更新工作副本以匹配第一个父级: . 始终表示工作副本的第一个父级。

    2. 如果你想 再合并 一些文件就可以了

      hg resolve fileA fileB
      

      这将像重新启动合并工具时一样 HG合并 . 如果您在 HG合并 -合并工具配置错误的时间:修复配置并运行 hg resolve --all . 你可以跑 hg resolve 尽可能多次,直到你对合并满意为止。