如何修改 GitHub 上的拉取请求以更改要合并到的目标分支?

问题描述 投票:0回答:5

我有一个拉取请求,请求从我的分支合并到 master,但所有者希望我更改请求以合并到与我的分支不同的分支。

这可能吗?可能的解决方案有哪些?

git github branch pull-request
5个回答
251
投票

2016 年 8 月更新:更改拉取请求的基础分支最终允许更改该分支。
(至此结束第 18 期,该期刊已有 3 年历史,有 1500 多条评论)

创建拉取请求后,您可以修改基本分支,以便将拉取请求中的更改与不同的分支进行比较。

spazm评论中所述:

它正在(并且正在)工作。

PR 关闭时无法更改目标分支
解决方案是“重新打开”PR(即使用 UI 中的选项),然后更改目标分支


原答案:

由于 PR 无法根据分支进行编辑(见下文),最简单的方法是:

  • 在当前分支之上创建一个本地新分支
  • 推动新分支
  • 以正确的目的地创建新的 PR。
  • 关闭之前的PR
  • 从新请求中引用“旧”拉取请求;例如。
    Supersedes #123
    (正如下面Rivera评论的那样)

(原答案,仅在创建PR时有效)

您可以尝试选择另一个基础分支,如“更改分支范围和目标存储库”(单击 PR 页面顶部的

Edit
按钮)

https://github-images.s3.amazonaws.com/help/pull_requests/pull-request-review-edit-branch.png

思考分支范围的最简单方法是:

  • 基础分支是您认为应该应用更改的地方,
  • 头分支是您想要应用的分支。

更改基础存储库会更改拉取请求的通知对象。
每个可以推送到基础存储库的人都将收到电子邮件通知,并在下次登录时在仪表板中看到新的拉取请求。

如果您选择原始维护者(所有者)想要的基础分支,您的 PR 应该从您的分支(未更改)合并到新的基础分支。


6
投票

如果您的分支(仍然)可以远程使用,则无需在本地创建新分支。

  • 直接从下拉菜单或在“# Branches”下选择您的分支(包含您要提交的更改)(https://github.com/account/project/branches)。

  • 单击“新拉取请求”。这可以让您选择一个新的基础(目标)分支。

以下是Github新界面截图:

我可以针对任何分叉/分支提交分支

UX
的 PR——无论我之前是否提交过分支
UX
的 PR 都没关系。


6
投票

您现在可以: https://github.com/blog/2224-change-the-base-branch-of-a-pull-request

“您现在可以更改打开的拉取请求的基本分支。创建拉取请求后,您可以修改基本分支,以便将拉取请求中的更改与不同的分支进行比较。通过更改基本分支保留原始拉取请求,而不是使用正确的基础分支打开一个新拉取请求,您将能够保留有价值的工作和讨论。”


1
投票

您必须按照 GibHub documentationForm

中所述创建一个新的拉取请求
  1. 首先选择
    New Pull request
  2. compare page
    中,左侧选择您要推送的
    target branch
    ,右侧选择
    branch you already pushed
  3. 更新您的新
    PR
    的详细信息。
  4. 创建
    PR

-3
投票

这很简单。只需单击您想要更改其基本分支的 PR。在网页底部附近找到“关闭拉取请求”按钮。现在您可以正常重新创建新的 PR - 确保这次选择正确的基础分支。

© www.soinside.com 2019 - 2024. All rights reserved.