Git:在一个命令中合并分支和所有子体
假设我从“master”开始,然后签出一个名为“child”的新分支。然后我做一些修改,提交它们,然后从child开始我创建一个新的分支,称为“孙子”。我再次进行一些新的更改,并提交它们。我用“曾孙”等重复这个过程Git:在一个命令中合并分支和所有子体,git,Git,假设我从“master”开始,然后签出一个名为“child”的新分支。然后我做一些修改,提交它们,然后从child开始我创建一个新的分支,称为“孙子”。我再次进行一些新的更改,并提交它们。我用“曾孙”等重复这个过程 C3 | great-grandchild / C2 | grandchild / C1 |
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
命令
类似地,您可能只需要为每个子代重复合并
,就可以完成您想要的任务