2015-11-07 158 views
3

我们正在学习Git,我们正在使用GitHub作为我们的托管网站。是否有可能在公关提交之后压缩Git提交,然后提交更改?

我们都叉子upstream回购和PR我们提交长达upstream让我们改变。

我们正在努力学习如何压扁我们提交保持上游提交历史漂亮和干净(ISH) 。

,如果我们提交pull请求我们经常犯:)

所以... ..然后该项目的维护者则在提交(即做PR的代码审查)添加评论...该然后开发人员将修复这些问题并再次提交他们的提交。

是否有可能挤压这些提交,所以PR只有一个提交? GH中的评论会发生什么(针对这个PR)?

回答

0

您将不得不git push --force(在rebase squash local之后:选择第一个提交,在其他提交中放置一个“s”标记)。

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

这些命令是谁执行的?提交公关/额外提交的人?还是评论员?

叉的所有者按需要推送尽可能多的时间:注释不会被销毁,并且实际上会成为压扁提交的一部分。
以前PR部分的提交将被标记为“过时”,取而代之的是您刚刚推送的新提交。
维护者将能够合并压扁的历史。

0

压扁一起提交:

git rebase -i upstream/master 

-i将激活交互模式,您将能够决定每个提交,如果你想与其父(称为“修正”)压扁它,或者如果您想编辑提交消息(称为“reword”),或者您想要在提交中添加/删除/更新文件(称为“编辑”)。

后您完成垫底,你将不得不力推:

git push -f 

不过,我认为这会破坏在PR审稿意见。

+0

如果评论者评论被破坏,我并不担心......所以没关系。谁做这些命令?提交公关/额外提交的人?还是评论员? –

+0

任何对叉具有推送权限的人。 – wil93