如何阻止github向现有的pull请求添加新提交

Mar*_*cki 13 github

我已经从我的主分支创建了一个pull请求到上游,现在该分支上的每个新提交都会自动附加到这个pull请求.

在创建时拉动请求页面上有一个"更改提交"按钮,但在创建请求后它似乎消失了.我现在可以用其他方式吗?

Tap*_*pio 7

您应该始终为每个拉取请求创建一个单独的功能分支.

  • 是的,现在我知道了,但是github从来没有告诉过我这件事.我想除了重新创建拉取请求之外没有办法恢复? (4认同)
  • 问题是“如何从我犯的错误中恢复过来”。说“不要犯错误”不是很有帮助! (2认同)

jes*_*ing 7

在 GitHub 中,拉取请求表示将一个分支与另一个分支合并的请求。当任一分支更新时,拉取请求也会更新,并重新评估合并。

因此,当您将新更改推送到链接有未完成拉取请求的分支时,拉取请求将更新以包含新更改。

要将拉取请求重置为之前的状态,您可以:

   git switch branch-you-want-to-fix
   git branch backup-of-later-changes
   git reset --hard hash-of-desired-changes
   git push --force
Run Code Online (Sandbox Code Playgroud)

这将使用您以后的更改创建一个新的本地分支,并将从 github 上的分支中删除这些更改。

拉取请求将被重新评估(其一侧已通过您的强制推送进行更新),并且您可以从分支创建新的拉取请求backup-of-later-changes

只要新提交没有推送到 pr 分支,它们就不会自动出现在其中,即使这些更改基于原始 pr 分支的顶部。