首页 > 解决方案 > 从之前合并的分叉发出另一个拉取请求的正确方法是什么

问题描述

在 github 上创建拉取请求时我会遇到一些问题。以下是重现我的问题的步骤:

  1. 我从 github 分叉了一个 repo。假设从分支author/masterme/fix-something
  2. me/fix-something我在我的分叉分支( )上做了一些提交。
  3. 我创建了一个合并me/fix-somethingauthor/master.
  4. step 上的 pull request3被作者接受并合并。
  5. me/fix-something我和作者没有注意到的一些问题,所以我在me/fix-something.

就是这样,在这5th一步之后,当我想从 to 创建另一个拉取请求时应该怎么me/fix-somethingauthor/master

标签: gitgithubpull-request

解决方案


错误一直潜入代码中。如果您发现有问题,则不必重新使用功能分支,因为该功能分支已经达到了它的目的。

我建议创建一个新的featurebugfix分支,将 ( cherry-pick) 提交到新分支,然后创建一个新的拉取请求到author/master. 这样您就可以保留干净的 git 历史记录,并且每个人都可以理解存在错误和错误修复

所以你会做这样的事情:

git checkout -b bugfix/fix-feature-abc
# If you have more commits, you can cherry-pick them one by one
# or do something more elegant (if they are a lot)
git cherry-pick <sha1 of the bugfix>

# then
git push # etc.

然后您可以转到 GitHub UI 并为此创建一个新的拉取请求。

当然,如果你不想做这样的事情,只是想从你已经存在的 PR 中创建一个新的 PR me/fix-something,那么你需要做的就是从你的问题中重复步骤 3。


推荐阅读