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

Keep commit history of a branch in git log graph after git merge

测试用例:

                 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

对于一次性方法,你可以

git merge topic --no-ff

它会强制合并提交(参见 doc)。


但还要注意,如果您需要将其作为常规工作流程的一部分放在回购中,您可以在 配置中将其设置为从不快进合并 即使可能,

git config merge.ff false