在 Git 合并后的日志图表中保留分支的提交历史

4

测试案例:

                 A---B---C topic
                /
           D---E master

如果我这样做

git checkout master
git merge topic

我会得到


               D---E---A---B---C master,topic

我该如何合并提交以保持以下提交历史图形呢?
                     A---B---C topic
                    /         \
               D---E-----------F master

4
--no-ff是Git中的一个合并选项,用于在执行合并操作时创建一个新的提交对象来保留分支之间的历史记录。不使用该选项,则可能会发生快进式合并,即将分支指针直接移动到目标分支的最新提交,而没有创建任何新的提交节点来记录分支历史。 - jonrsharpe
1个回答

6

对于一次性的解决方法,您可以进行如下操作:

git merge topic --no-ff

这将强制进行合并提交(详见文档)。


但请注意,如果您需要在存储库中作为工作流程的一部分进行操作,可以在配置中将其设置为永远不快进合并,即使可能性存在,使用以下命令:

config

git config merge.ff false

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接