Github squash 在审查评论后根据拉取请求从 Web 界面提交?

Github squash commits from web interface on pull request after review comments?

假设我有 5 次提交的提交历史记录。我知道我可以在发出拉取请求时在本地重新设置我的提交,然后将它们重新设置为单个提交。

一个常见的用例是:

我可以在我的机器上本地执行此操作,然后再次推送我的更改(使用 -f 因为 rebase 使它与远程不同步)。这有点烦人。

但是,这要求我每次处理评论意见时都做一个变基 - 有什么方法可以从网络界面做到这一点吗?

或者我的工作流程可能是错误的,我是否应该将每个 "review comments" 提交直接修改到主 PR 提交上?

您不必再在本地执行任何 rebase/squashing:只需将您的提交推送到您的 PR 分支即可。

原始仓库的所有者,如果 he/she 选择,将为您压缩这些提交(自 2016 年 3 月起):

请参阅“Squash your commits" and the documentation:它确实允许一个新的工作流程,无论是对于贡献者还是原始存储库的维护者。

正如我在下面评论的那样:它将像实施 PR 的合并一样实施:

  • 如果没有冲突,合并(或此处,merge --squash:请参阅“In git, what is the difference between merge --squash and rebase?”)将自动创建。
  • 如果有任何冲突,则不会创建合并,并且维护者可以选择暂时拒绝 PR,要求贡献者完成压缩提交和修改 PR 的工作。

除了 GitHub 已将 --squash 添加到他们的合并命令之外,这与现在存在的非常相似。仅此而已。