为什么合并分支的总提交数?

时间:2019-05-19 00:37:15

标签: git github

如果分支A有5次提交,分支B有7次提交,则当我将B合并到A中时,A现在有12次提交。

这是预期的结果吗?我本以为合并将被视为一次提交?

2 个答案:

答案 0 :(得分:1)

这取决于分支机构的历史记录...可能介于7个修订版(快速转发)和13个修订版(合并2个完全不相关的故事)之间。这完全取决于故事以及您在谈论多少不同的修订版本(或者是否要强制使用--no-ff)。获得12个修订版本的一种可能方法是在两个分支之间拥有一个共同的祖先,因此您拥有共同的祖先,一个分支拥有4个修订,而另一个分支拥有6个修订(在共同祖先之后)加上合并修订:1 + 4 + 6 +1 =12。但是正如我所说,这完全取决于历史。通过将一个分支的所有5个修订版作为另一个分支的前5个修订版,然后合并--no-ff,可以实现8个。这将为原先的ff创建合并提交。结果:8次修订。有了4个共同祖先并进行合并,您将获得9个修订版本...依此类推。

答案 1 :(得分:0)

如果要合并1次提交的分支,可以使用--squash的{​​{1}}选项。

它的作用是从git merge传递的分支中创建一个提交,您可以提交。

默认git merge --squash <branch>

git merge branch