是否有不平凡的"already-up-to-date"合并?



假设您的git merge alt使"alt"分支合并到"master"分支中。

假设你然后直接git merge alt。您将收到控制台消息"已经更新"。

问题:是否还有其他不那么简单的情况,您可能会遇到这种简并合并?

是的,如果你在一个分支之前合并,你在第二个分支合并。例如:

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会得到'already up to date'的结果,因为master已经包含了分支testA上的所有提交

最新更新