提交 PR 并提交更改后,是否有可能压缩 Git 提交记录?

3
我们正在学习Git,并使用GitHub作为我们的托管网站。
我们都fork了upstream repo并将我们的提交PR到upstream,以使我们的更改生效。
我们正在尝试学习如何压缩提交,以保持upstream提交历史记录整洁(尽可能)。
我们经常提交 :)
那么...如果我们提交了一个Pull Request,然后项目维护者在提交上添加了评论(即对PR进行代码审查)...开发人员将修复问题并再次推送他们的提交。
是否可以压缩这些提交,以便PR只有一个提交?GH中的评论会发生什么(针对此PR)?
2个回答

0

rebase squash local 之后,您将需要执行 git push --force 命令:选择第一个提交,对其他提交打上 "s" 标记。

但是 PR 仍然有效。它的关联历史记录将被更新为刚刚推送的历史记录(这里只有一个合并的提交)。

谁执行这些命令?是提交 PR/额外提交的人还是审核者?

分支所有者可以根据需要多次推送:注释不会被销毁,实际上将成为合并的提交的一部分。
以前包含在 PR 中的提交将被标记为“过时”,被您刚刚推送的新提交所替换。
然后维护者就可以合并合并后的历史记录了。


0

将提交压缩在一起:

git rebase -i upstream/master

-i 会激活交互模式,您可以决定每个提交是否要将其与其父提交合并(称为“fixup”),或者是否要编辑提交消息(称为“reword”),或者是否要添加/删除/更新提交中的文件(称为“edit”)。

完成变基后,您需要强制推送:

git push -f

然而,我认为这会破坏审阅者对PR的评论。


我不担心审阅者的评论被删除...所以没关系。这些命令是由谁执行的?是提交PR/额外提交的人吗?还是审阅者? - Pure.Krome
具有 fork 推送权限的任何人。 - William

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接