如果分支A有5次提交,分支B有7次提交,则当我将B合并到A中时,A现在有12次提交。
这是预期的结果吗?我本以为合并将被视为一次提交?
答案 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
: