为什么git merge在推送合并提交后会生成两个相同的更改历史记录?

时间:2015-05-09 03:37:31

标签: git github version-control

我已将开发分支合并到主分支,然后将原点推送到远程。因此,有两个相同的更改历史记录,并且合并的历史记录与开发分支中的最后一个提交相同。 合并和提交的主分支总是比开发分支提前1,为什么?最后,如果我将master上的新提交历史合并到develop,那么两个分支将是相同的,并且不会生成新的提交历史记录。

合并到主分支 https://github.com/uptown1919/cmake/commit/3691a71d83ca3335e6236cdb07cb629fd8c749f1

开发分支的最后一次更改 https://github.com/uptown1919/cmake/commit/faac63cf7f754561e2aa46d62dba4e9c232d9996

1 个答案:

答案 0 :(得分:0)

查看您的回购历史记录,看起来您已将--no-ff选项传递给git merge,或者您已设置配置,以便默认情况下禁用快进。执行此操作时,执行合并时,始终创建新提交。将此与合并时只有您正在合并的分支更改的事实相结合,您将留下指向新提交的分支以及您从的分支>坚持现有的承诺。

请注意,即使您不使用--no-ff选项,也会有很多情况需要合并,并且无法进行快进。在这些情况下,您还将使目标和源分支指向不同的提交。