Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Merge 如果多个分支处于活动状态,如何进行Mercurial合并?_Merge_Mercurial_Branch_Branching And Merging - Fatal编程技术网

Merge 如果多个分支处于活动状态,如何进行Mercurial合并?

Merge 如果多个分支处于活动状态,如何进行Mercurial合并?,merge,mercurial,branch,branching-and-merging,Merge,Mercurial,Branch,Branching And Merging,我的Mercurial存储库中有以下分支结构 ----------B------- / / -----default---------------------------- \ \ / \ \ / --------A------ \

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

               ----------B-------
              /
             /
-----default----------------------------
             \    \            /
              \    \          /
               --------A------
                     \
                      \
                       ------C------
我想将
default
分支与
B
分支合并(其中
B
分支是我的“工作”分支)。我的想法是首先“切换”到默认的
分支。
因此,我打算执行以下步骤

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

  • 请任何人告诉我,我将要使用的步骤在我的情况下是否也能起作用,即如果我有默认分支和另外两个活动(打开)分支,其中只有一个分支打算与默认分支合并?

    建议的工作流的结果如下:

                   ----------B------- - - 
                  /                       \
                 /                         \
    -----default----------------------------(*)
                 \    \            /
                  \    \          /
                   --------A------
                         \
                          \
                           ------C------
    
    其中(*)标记紧接其后的当前工作目录

    存在分支
    C
    这一事实不应引起任何关注。可能存在任何其他分支,如
    C
    ,除非您单独与它们合并,否则它们不会影响您将
    B
    合并到
    default

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