在提交PR并提交更改后,是否可以压缩Git提交?

时间:2015-11-07 02:22:12

标签: git github fork pull-request git-squash

我们正在学习Git,我们正在使用GitHub作为我们的托管网站。

我们都将upstream repo和PR提交到upstream,以便我们进行更改。

我们正在努力学习如何压缩我们的提交以保持上游提交历史的良好和干净(ish)。

我们经常提交:)

所以...如果我们提交一个Pull Request ..然后项目维护者然后在提交上添加注释(即对PR进行代码审查)......然后开发人员将解决问题并再次推迟他们的提交。

是否有可能压缩这些提交,以便PR只有一次提交? GH中的评论会发生什么变化(针对此PR)?

2 个答案:

答案 0 :(得分:0)

您必须git push --force(在rebase squash local之后:选择第一次提交,在其他提交上添加“s”标记)。

但PR仍然有效。它的相关历史记录将更新为刚刚推送的(这里是一个压缩的提交)

  

这些命令是谁?提交PR /额外提交的人?还是评论家?

fork的所有者按需要多次推送:注释不会被销毁,并且实际上将成为压缩提交的一部分。
之前属于PR的提交将被标记为“过时”,由您刚刚推送的新提交替换。
维护者将能够合并压扁的历史。

答案 1 :(得分:0)

一起压缩提交:

git rebase -i upstream/master

-i将激活交互模式,如果你想用它的父(称为“fixup”)压缩它,或者如果你想编辑提交消息,你将能够决定每次提交(称为“reword”),或者如果你想在提交中添加/删除/更新文件(称为“编辑”)。

完成变基后,你必须强制推送:

git push -f

但是,我认为这会破坏审稿人对PR的评论。