修改 PR 并关闭原件

Amending a PR and closing original

我已经根据 this description 检查了 GitHub PR 的本地分支。它建议

git fetch origin pull/ID/head:BRANCHNAME

在那个本地分支上,我应用了一些修复程序并想要

采取什么适当的步骤?

我正在考虑将本地分支推送到新的远程分支,创建一个新的 PR,并将其与 "closes #original PR" 消息合并。这行得通吗?会有什么不良影响?我可以使用合并消息关闭原始 PR,还是必须提交?

我想说的是,如果您对此 PR 所做的更改更像是 cosmetic\small 修复,那么您应该这样做:

  • 检查 PR 的源代码分支(克隆 PR 作者创建的 forkgit clone https://github.com/USERNAME/REPO && cd REPO && git checkout BRANCHNAME
  • 进行更改
  • 直接推送到fork repo
  • 更改将出现在原始 PR 中
  • 合并原始 PR

所以您可能不需要为此创建新的 PR,只需修改现有的 PR。

参见 Github 页面以供参考 https://help.github.com/articles/committing-changes-to-a-pull-request-branch-created-from-a-fork/。虽然为了能够提交到 fork 分支,您需要 PR 创建者放置复选框 "Allow edit from maintainers".

但在其他情况下(即,如果原始 PR 不知何故混乱或等待了很长时间,现在需要努力重新定基;或者作者没有提出 "Allow edits from maintainers"),您建议的方法是完美的也很好,创建新的 PR 并合并它而不是原来的 PR 没有错。在这种情况下,我建议您简单地对原始 PR 进行评论,例如 "Transferred to the new PR #123, closing this one",这样您就可以清楚地知道您在做什么。