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

如何“hg merge”而不影响工作目录?

  •  6
  • Sylvain  · 技术社区  · 16 年前

    • 我有一个叫MyRepo的回购。
    • 我的工作目录中有未提交的更改。
    • 我想把我在回购中已经拥有的东西和我刚刚提取的东西合并起来。

    如前所述 here

    在我的场景中,我不想丢失工作目录中未提交的更改,因为此时,我有兴趣更改MyRepo的状态;不是我工作目录的状态。

    有没有一种方法可以在不影响我的工作目录内容的情况下完成合并过程,包括手动解决冲突?这个过程只能在临时文件中完成吗?或者我应该搁置我的更改,进行合并,然后取消搁置以将我的工作目录恢复到合并之前的状态?

    5 回复  |  直到 16 年前
        1
  •  4
  •   Macke    16 年前

    使用 shelve attic

        2
  •  3
  •   LukáÅ¡ Lalinský    16 年前

    你不能那样做。正如文档所说,合并实际上是一个有效的树操作。解决冲突而不测试结果是疯狂的。搁置或提交更改,然后执行合并。如果不希望提交在任何地方可见,可以提交更改、更新到以前的修订版、合并新分支、应用临时提交的修补程序并剥离该临时分支。

        3
  •  2
  •   Nate Heinrich    16 年前

    您可以将存储库克隆到最新签入,将更改与克隆合并,提交,然后将新更改集从克隆的存储库拉回到当前的存储库中。

        4
  •  0
  •   Sniggerfardimungus    16 年前

    我是mercurial的新手,但是你不能从本地存储库克隆并将工作副本复制到克隆吗?然后你可以在原始文件中运行合并?您可以在克隆中保留工作副本的状态,同时允许更改原始工作副本。

    先测试一下。我从来没有在hg做过。

        5
  •  0
  •   Ry4an Brase    16 年前

    1. 将MyRepo克隆到MyRepo合并,它将覆盖所有已提交的更改,但不会覆盖未提交的更改
    2. 在MyRepo合并中 hg merge 你想要什么

    返回MyRepo不会改变MyRepo的工作目录,因此这是一个安全的操作。

    推荐文章