Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如果挤压不会改变提交者,为什么Github';“压缩和合并”按钮是否更新提交者?_Github - Fatal编程技术网

如果挤压不会改变提交者,为什么Github';“压缩和合并”按钮是否更新提交者?

如果挤压不会改变提交者,为什么Github';“压缩和合并”按钮是否更新提交者?,github,Github,本着测试“没有愚蠢问题”理论的精神,为什么Github的挤压和合并策略在合并拉请求后更新提交者 也就是说,假设我在我的项目分支中编写了一个pull请求。假设其中有两个提交。假设我要求项目维护人员现在将我的请求合并到上游项目的master 假设她选择挤压和合并策略,以便在最后有一个提交 进一步假设合并可以通过快进方式完成,即我所能想到的尽可能简单的案例。(,在我看来,这会使commit完全保持不变。) 那么,为什么在挤压和合并操作之后,master上的最新提交将我作为作者(我理解这一部分),而将维

本着测试“没有愚蠢问题”理论的精神,为什么Github的挤压和合并策略在合并拉请求后更新提交者

也就是说,假设我在我的项目分支中编写了一个pull请求。假设其中有两个提交。假设我要求项目维护人员现在将我的请求合并到上游项目的
master

假设她选择挤压和合并策略,以便在最后有一个提交

进一步假设合并可以通过快进方式完成,即我所能想到的尽可能简单的案例。(,在我看来,这会使commit完全保持不变。)

那么,为什么在挤压和合并操作之后,
master
上的最新提交将我作为作者(我理解这一部分),而将维护者作为提交者?这不是对提交的修改吗

Github是否在暗中默默地做着类似于git amend的事情

这不是对提交的修改吗

不仅仅是更改:创建一个新的提交,反映两次提交的更改。
主repo不再引用您的两个提交:它只引用压缩的提交


新的提交仍然将您作为作者,但由维护者提交

你是从哪里想到挤压不会改变提交者的?我在您参考的文档中没有看到任何与此相关的内容。根据定义,挤压提交将创建新的提交。进行挤压的人是新提交的提交人,无论是谁提交了原始提交。(考虑一下:源提交可能都是由不同的人提交的。然后会发生什么?)谢谢您的评论。git文档说,关于快进合并的主题,我认为这里正在使用它:“在这种情况下,不需要新的提交来存储组合的历史记录;相反,头(连同索引)被更新为指向指定的提交,而不创建额外的合并提交。”不,挤压不是快进的(至少相对于原始提交)。将从正在压缩的提交创建新的提交。