繁体   English   中英

Git:ffwd合并会保留所有主题分支提交吗?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM