说我们遇到这种情况:
master
|
A--B--B--D--E--F--G
|
test
然后我们将测试合并到主人。提交E和F是否保留在新的主分支中?
那就是,它现在是这样的(选项A):
master
|
A--B--B--D--E--F--G
|
test
或像这样(选项B):
master
|
A--B--B--D--G
|
test
很抱歉,如果已经提出这个问题,我找不到它。另外,ProGit书中的例子只提前一次提交(在我的例子中是E),这不会解决这种情况。
答案 0 :(得分:2)
选项A 会发生什么:保留提交。在快进合并的情况下,根本不修改历史记录,只有master
分支指向不同的提交。就是这样。
答案 1 :(得分:1)
您获得了快进合并(选项A),并且开始的原因是因为在合并之前master和test之间只有一行提交。如果master和test之间存在分支,则不再是快进合并。
我建议阅读this以获得关于如何在git中进行分支和合并的一个很好的概述 - 你需要非常清楚这些东西在使用git时是如何工作的。
答案 2 :(得分:1)
选项A就是这样。有时人们希望保留分支点并强制git创建新的合并提交。
git merge --no-ff test
这取决于您要开发的工作流程。