首页 > 解决方案 > 如果多个分支处于活动状态,如何进行 Mercurial 合并?

问题描述

我的 Mercurial 存储库中有以下分支结构

               ----------B-------
              /
             /
-----default----------------------------
             \    \            /
              \    \          /
               --------A------
                     \
                      \
                       ------C------

我想将default分支与B分支合并(B分支是我的“工作”分支)。我的想法是首先“切换”到默认值branch。所以我打算做以下步骤

  1. hg update default(用于切换到default分支)
  2. hg merge BB(用于将分支上的更改“拉”到分支上default
  3. 解决冲突
  4. hg commit(用于使合并持久化)

请任何人告诉我我要使用的步骤是否也适用于我的情况,即如果我有默认分支和其他两个活动(打开)分支,其中只有一个打算与默认分支合并?

标签: mergemercurialbranchbranching-and-merging

解决方案


您建议的工作流程的结果将是:

               ----------B------- - - 
              /                       \
             /                         \
-----default----------------------------(*)
             \    \            /
              \    \          /
               --------A------
                     \
                      \
                       ------C------

其中 (*) 立即标记当前工作目录。

有一个分支的事实C不应该引起任何关注。可能有任何 # 个其他分支,例如C并且在您单独与它们合并之前,它们不会影响您的Binto合并default

假设不再需要,您可以关闭它们AB这只是作为一个标记/提醒他们的工作已经完成,但它没有太多其他实际效果。例如,您可以稍后在关闭的分支上恢复工作,甚至default在需要时将其重新合并回。(另一方面,您也可以default再次分支并在那里完成这项工作。)


推荐阅读