Git:在一个命令中合并分支和所有子体

Git:在一个命令中合并分支和所有子体,git,Git,假设我从“master”开始,然后签出一个名为“child”的新分支。然后我做一些修改,提交它们,然后从child开始我创建一个新的分支,称为“孙子”。我再次进行一些新的更改,并提交它们。我用“曾孙”等重复这个过程 C3 | great-grandchild / C2 | grandchild / C1 |

假设我从“master”开始,然后签出一个名为“child”的新分支。然后我做一些修改,提交它们,然后从child开始我创建一个新的分支,称为“孙子”。我再次进行一些新的更改,并提交它们。我用“曾孙”等重复这个过程

       C3                      | great-grandchild
      /
     C2                        | grandchild
    /  
   C1                          | child
  /
 C0                            | master
然后我签出master,进行一些更改,提交(C4)。假设我想将“主”与“子”合并。这些变化将反映在《孩子》(C5)中,但《孙子女》和《曾孙女》仍然以旧版的《大师》为基础

       C3                      | great-grandchild
      /
     C2                        | grandchild
    /  
   C1-C5                       | child
  /  /
 C0-C4                         | master
是否可以在一个命令中将master的更改与“child”以及“child”的所有子代合并(以便“孙子”和“曾孙”以递归方式自动与master合并)?像这样:

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

如果您想在一个命令中完成这一切,可能需要为此编写某种脚本。你熟悉重定基调吗?即使您将子代分支重新设置为新更改的基础,也没有任何命令(从Git 2.0版开始)可以一次完成所有更改,您需要为每个子代重复
rebase
命令

类似地,您可能只需要为每个子代重复
合并
,就可以完成您想要的任务