[英]Git: does ffwd merge preserves all topic branch commits?
说我们有这种情况:
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),这不会解决这种情况。
选项A会发生什么:保留提交。 在快进合并的情况下,根本不修改历史记录,只有master
分支指向不同的提交。 就这样。
你得到一个快进合并(选项A),开始的原因是因为在合并之前master和test之间只有一行提交。 如果master和test之间存在分支,则不再是快进合并。
我建议阅读本文,以便对git中的分支和合并如何工作有一个很好的概述 - 你需要非常清楚这些东西在使用git时是如何工作的。
选项A就是这样。 有时人们希望保留分支点并强制git创建新的合并提交。
git merge --no-ff test
这取决于您要开发的工作流程。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.