如何更改请求的基分支?

我在 GitHub 上创建了一个对特定远程分支的项目请求。一段时间后,远程分支被删除。

如何更改请求以指向另一个分支(特别是 master) ?

28331 次浏览

更新: 正如迈克尔在下面指出的,现在这是可能的:

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

通过 pull 请求的标题单击 Edit按钮,以显示基本分支选择器。

An animated example of how to change a pull request's base branch.


旧答案

不行,重新申请就行了。

虽然没有文档说明,但是您可以使用 GitHub REST API 来完成这项工作。

这个答案中解释了 API 的用法,但是基本上你可以发出一个像下面这样的 REST 请求:

$ curl --user "tom" \
--request PATCH \
--data '{"issue": "15", "head": "tom:new-branch", "base": "master"}' \
https://api.github.com/repos/fred/fabproj/pulls

这将改变问题15在 fred/fabproj repo 上包含的 pull 请求,使其在 tom/fabproj fork 上使用 new-branch分支。

编辑: 注: 根据注释,以上内容仅适用于 将一个 < strong > new pull 请求附加到现有问题

理论上..。

你应该用 Github api

例如: 使用 卷发编辑拉请求

curl --user "your_github_username" \
--request PATCH \
--data '{"title":"newtitle","body":"newbody",...}' \
https://api.github.com/repos/:owner/:repo/pulls/:number

您可以在 Github 开发人员文档中找到数据的详细列表

例如: 更改 我的请求的名称

curl --user "jeremyclement" \
--request PATCH \
--data '{"title":"allows the control of files and folders permissions."}' \
https://api.github.com/repos/Gregwar/Cache/pulls/9

但实际上。

似乎字段 head/labelhead/ref是不可编辑的。目前,唯一的解决办法似乎是 那个安珀

而不是丢失所有与 PR 相关的评论到一个被删除的分支:

  1. 再次在本地创建与要合并到的分支名称和内容相同的分支;
  2. 推动该分支以重新创建远程分支; 然后
  3. 向分公司重新开放公关。

例如,您有一个到 Branch 1的 PR,它被删除了。您现在希望合并以掌握并保留对现有 PR 的评论:

  1. Git 收银大师
  2. 饭桶拉
  3. Git checkout-b 分支1
  4. 推车
  5. 向分行重新开放你的公关
  6. 当合并到分支1时,合并到 master。

这有点粗俗,但比毁掉许多评论要好得多。

截至2016年8月15日,通过 Github实现本地化现在是可能的:

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

我可以改变目标分支。 的确,我们不能在 PR 中编辑目标分支的名称。但诀窍是将分支重命名为其他名称,并将目标分支重命名为 PR 中已经存在的分支。

例如: 我的公关叫“ dev-4.9”。还有一个分支叫做“ qa-4.9”。我只想让“ qa-4.9”成为公关目标分支。 步骤: 1 1)将分支“ dev-4.9”重命名为其他名称“ first-dev-4.9”

git checkout dev-4.9
git branch -w original-dev-4.9
git push origin original-dev-4.9

2)将分支“ qa-4.9”改名为“ dev-4.9”。

git checkout qa-4.9
git branch -w dev-4.9
git push origin dev-4.9 -f (force push to write entire branch to reflect dev-4.9)

3)刷新 PR URL,看看 qa-4.9中的提交反映在那里。

Github 现在支持这一点。编辑按钮在公关的右端。