是否有非平凡的"已经是最新的"合并?

时间:2015-08-20 18:26:05

标签: git git-merge

假设您git merge alt以便" alt"分支合并到" master"分支。

假设您立即git merge alt。您将收到控制台消息"已经是最新的。"

问题:还有其他不那么简单的场景,你可以遇到这种退化合并吗?

1 个答案:

答案 0 :(得分:0)

是的,如果您合并在分支之前的分支中,则合并为第二分支。例如:

git checkout master - 在主分支上 git checkout -b testA - 创建并交换到分支A
touch a.txt && git add a.txt && git commit -m "Test A" - 创建a.txt并提交

git checkout -b testB - 创建并交换到分支B(从分支A开始)
touch b.txt && git add b.txt && git commit -m "Test B" - 创建b.txt并提交

历史现在看起来像这样:

.. - {master} - {testA} - {testB}

git checkout master

git merge testB - 通过这样做,我们还引入了TestA的提交

历史现在看起来像这样:

.. - {testA} - {testB,master}

运行git merge testA会使结果“已经是最新的”,因为主人已经包含了分支testA上的所有提交