如何更改拉取请求的基本分支?

Mar*_*lva 77 github pull-request

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

如何将拉取请求更改为指向另一个分支(具体master)?

Amb*_*ber 75

更新:正如Michael在下面所说,现在可以:

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

单击Edit拉取请求标题的按钮以显示基本分支选择器.

一个动画示例,说明如何更改拉取请求的基本分支.


老答案

你不能.只需提出新的拉取请求.

  • 没有人说过依赖于未记录的API功能.这个问题要求解决一次性问题,而不是永久支持的持续解决方案.无论如何,说"你不能"简直是不真实的. (15认同)
  • 直截了当,但不严格正确 - 见[this](http://stackoverflow.com/a/11983910/211070)回答. (10认同)
  • 依赖于未记录的(并且可能是无意的)API功能是令人悲伤的一种方法. (7认同)
  • 无论哪种方式,未记录的API现在都被破坏了(参见其他答案的评论),这非常令人难过. (5认同)
  • 截至2016年8月15日,您可以.看迈克尔的回答. (2认同)

Tom*_*Tom 36

虽然没有文档,但您可以使用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
Run Code Online (Sandbox Code Playgroud)

这将改变fred/fabprojrepo 上的问题15所体现的pull请求以使用fork new-branch上的tom/fabproj分支.

编辑:注意:根据评论,上述内容仅用于新的拉取请求附加到现有问题.

  • 我今天再次尝试了这一点,并且可以确认它已经不再有效了.我将继续探索REST API,以期发现另一种方法. (14认同)
  • 嘿嘿,正如汤姆在12月13日的评论中提到的,这是(可悲的是!)不再工作......这是一种耻辱,因为我今天可以很好地利用它,但唉! (4认同)

Mic*_*ord 19

截至2016年8月15日,现在可以通过Github进行本地化:

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