Git:在一个命令中合并分支和所有后代

时间:2014-03-21 13:35:39

标签: git

假设我开始使用' master',并结帐一个名为' child'的新分支。然后我做了一些修改,提交它们,然后从孩子那里创建了一个名为“孙子”的新分支。我再次做了一些新的改变,并提交它们。我和“曾孙子”重复这个过程。等等。

       C3                      | great-grandchild
      /
     C2                        | grandchild
    /  
   C1                          | child
  /
 C0                            | master

然后我结账大师,做一些改变,提交(C4)。说我想合并'掌握'与孩子一起#39;这些变化将反映在“孩子”中。 (C5),但是'孙子'和“好孩子”#39;仍然是基于旧版本的主人。

       C3                      | great-grandchild
      /
     C2                        | grandchild
    /  
   C1-C5                       | child
  /  /
 C0-C4                         | master

是否可以将主人的变化与“孩子”进行合并。和孩子的所有后代'在一个命令中(以便'孙子'和孙子'以递归方式自动与主人合并)?像这样:

       C3-C7                      | great-grandchild
      /  /
     C2--C6                       | grandchild
    /  //
   C1---C5                        | child
  /  ///
 C0-C4-                           | master

1 个答案:

答案 0 :(得分:0)

如果你想在一个命令中完成所有操作,你可能不得不为此制作某种脚本。你熟悉变基吗?即使您将后代分支重新定义到新的更改,也没有命令(但是,从Git版本2.0开始),它会立即执行所有操作,您需要为每个后代重复rebase命令。 / p>

同样,你可能只需要为每个后代重复merge来做你想做的事。