【问题标题】:How to stop github from adding new commits to existing pull request如何阻止 github 向现有拉取请求添加新提交
【发布时间】:2012-07-27 10:59:13
【问题描述】:

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

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

【问题讨论】:

  • 您应该始终为每个拉取请求创建一个单独的功能分支。
  • 您可以硬重置当前分支并强制推送它以将 PR 返回到先前的提交,并为未来的 PR 创建新分支。
  • @Tapio 虽然是真的,但这能回答问题吗?如果您创建一个新分支“功能 x”并在拉取请求后继续提交到该分支,这些提交将被添加到原始请求中,不是吗?

标签: github


【解决方案1】:

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

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

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

   git switch branch-you-want-to-fix
   git branch backup-of-later-changes
   git reset --hard hash-of-desired-changes
   git push --force

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

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

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

【讨论】:

  • 在创建备份分支之后和git reset之前是否应该有git checkout master
  • 不,不!仅当您想重置master
猜你喜欢
  • 2016-02-19
  • 1970-01-01
  • 2011-05-05
  • 2013-06-26
  • 2017-08-30
  • 2019-05-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多