当您从fork进行合并时,Github.com是否必须创建合并提交?

当您从fork进行合并时,Github.com是否必须创建合并提交?,git,version-control,github,merge,Git,Version Control,Github,Merge,我克隆了大师,开始做我的工作。由于权限,我将分支推到我的分支。然后,我向我的主人发送了一个拉请求,有人有权进行合并。 我注意到Github.com创建了一个合并提交快照,在我看来,它只是整个更改的一个差异,实际上这不是必需的,但从某种意义上说,我可以通过查看合并提交来查看整个差异。我可以看到与我自己的分支相同的sha,因此看起来合并是一个额外的提交,可能不是下一个提交,因为它是一个快进 master - a myfork(computer) - a->b->c myfork(gith

我克隆了大师,开始做我的工作。由于权限,我将分支推到我的分支。然后,我向我的主人发送了一个拉请求,有人有权进行合并。 我注意到Github.com创建了一个合并提交快照,在我看来,它只是整个更改的一个差异,实际上这不是必需的,但从某种意义上说,我可以通过查看合并提交来查看整个差异。我可以看到与我自己的分支相同的sha,因此看起来合并是一个额外的提交,可能不是下一个提交,因为它是一个快进

master - a
myfork(computer) - a->b->c
myfork(github) - a->b->c
Pull request myfork-master(它说我可以自动合并)显示整个差异,然后当我合并它时,它显示为
master-a->b->c-d
。d是一个合并提交,我认为它不是真正需要的,因为它是一个快进?有人能解释为什么会这样吗?如果master继续,我想如果我重新设置master的基础,情况也是如此,但这并没有发生。当我合并时,Master仍在。

在这种情况下确实不需要合并提交,但创建合并提交并不是一个错误<命令行上的code>git merge支持,这将避免快速转发合并,即使可以进行快进。这个开关可能就是GitHub正在使用的


额外的合并提交是多余的,因为它使最新的提交具有正确的代码,并且它确实稍微扰乱了历史。但它确实具有添加有关合并的额外元数据的优势——它包含进行合并的日期,并使其他人的代码合并到分支中的历史更加明确。GitHub可能权衡了这些优点和缺点,认为额外提交是一个合理的默认值。更多讨论快进何时合适、何时不合适。

斗牛士之眼!谢谢那很有趣。看起来这是为了让审阅者能够在一个页面中查看整个差异,以便他能够快速查看整个更改和合并。。。。所有提交的完整差异有时实际上很有用。。。同时通知链接为什么FF/无FF问题。。。为链接干杯!