57
        C---D  =>b1
      /    
     /  E---F  =>b2
     | /   
  A--B =======> master
     | \
     \  G---H  =>b3
      \ 
       I---J   =>b4

我想合并b1, b2, b3,b4master, 可以一次合并吗?

就像是:

git checkout master
git merge b1 b2 b3 b4
4

2 回答 2

57

Git 的merge命令支持多种合并策略。有两种策略可以一次合并两个以上的分支。

另请参阅此问题以获取对每个问题的不太正式的描述。

章鱼

这解决了两个以上的情况,但拒绝进行需要手动解决的复杂合并。它主要用于将主题分支头捆绑在一起。这是拉取或合并多个分支时的默认合并策略。

最后一条语句暗示如果你这样做git merge branch1 branch2 ...,它将使用章鱼策略。

我们的

这解决了任意数量的头,但合并的结果树始终是当前分支头的树,有效地忽略了所有其他分支的所有更改。它旨在用于取代分支的旧开发历史。

有关用例示例,请参阅此问题。

于 2013-04-26T14:29:00.413 回答
3

Git 有一个称为 octupus 的合并策略,它可以合并多个分支,只要没有复杂的冲突。执行此操作的命令完全按照您的建议git merge b1 b2

于 2013-04-25T06:51:33.770 回答