如何在创建后更改拉取请求的基本分支?

时间:2018-03-19 17:59:35

标签: git github

我对GitHub有点新鲜。我不确定我想要做的是否有一个名字(例如rebase),但这是我想要做的:

  1. 我分了一个回购,让我们说{foo main_branch
  2. 我在当地克隆了回购。
  3. 我对main_branch进行了一些更改。
  4. 我推到了我的分叉回购main_branch
  5. 我请求我的main_branch与上游main_branch合并。
  6. 到目前为止一切顺利。但是,我想立即将该拉取请求的基本分支更改为new_feature_branch而不是main_branch。这意味着,如果我将任何本地更改为new_feature_branch,它会自动更新拉取请求(就像我现在使用main_branch更新)。

    在创建了拉取请求之后,这可能是吗?

1 个答案:

答案 0 :(得分:2)

您可以通过简单地从GitHub界面编辑拉取请求来更改拉取请求所针对的分支:

Pull request view

只需点击“编辑”即可打开拉取请求编辑表单:

Pull request edit form

在那里,您只需单击目标分支下拉菜单,即可选择您希望应用请求的其他分支。

请注意,这将 not 更改拉取请求中的提交内容。因此,在执行此操作之后,您可能需要在新的基础上对fork中的分支进行重新绑定,以确保它只包含您实际提交的提交。

为此,只需运行git rebase upstream/new-base-branch即可。之后,您必须使用git push --force强制将重写的提交推送到您的分支。请注意,这将覆盖该分支上的现有提交。

如果您想要更改 存储库的哪个分支,则拉取请求应该从(例如上面的屏幕截图中的my-feature)获取提交,那么这是不可能的。只要存在拉取请求,您就必须使用该分支。

分支只是名称,所以如果你不小心使用了其他东西的分支,你可以暂时使用不同的分支名称来解决其他问题,直到拉取请求得到解决。