Github 如何更改请求的基本分支?
我在GitHub上的项目上创建了一个到特定远程分支的pull请求。一段时间后,远程分支被删除 如何更改pull请求以指向另一个分支(特别是Github 如何更改请求的基本分支?,github,pull-request,Github,Pull Request,我在GitHub上的项目上创建了一个到特定远程分支的pull请求。一段时间后,远程分支被删除 如何更改pull请求以指向另一个分支(特别是master) 您现在可以更改打开的请求的基本分支。创建拉请求后,可以修改基本分支,以便将拉请求中的更改与其他分支进行比较。通过更改原始请求的基本分支,而不是使用正确的基本分支打开新的请求,您将能够保留有价值的工作和讨论 单击拉动请求标题旁边的编辑按钮,以显示基本分支选择器 旧答案 你不能。只需提出一个新的请求。尽管没有文档记录,但您可以使用GitHub
master
)
您现在可以更改打开的请求的基本分支。创建拉请求后,可以修改基本分支,以便将拉请求中的更改与其他分支进行比较。通过更改原始请求的基本分支,而不是使用正确的基本分支打开新的请求,您将能够保留有价值的工作和讨论
单击拉动请求标题旁边的编辑按钮,以显示基本分支选择器
旧答案
你不能。只需提出一个新的请求。尽管没有文档记录,但您可以使用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
这将更改fred/fabproj
repo上的问题15所体现的拉动请求,以使用tom/fabproj
fork上的new branch
分支
编辑:注意:根据评论,上述内容仅用于向现有问题附加新的请求
理论上。。。
你应该用
示例:使用编辑拉取请求
您可以在中找到详细的数据列表
示例:更改的名称
但实际上。。。
似乎字段
head/label
和head/ref
不可编辑。目前,唯一的解决方案似乎是,而不是将与PR相关的所有注释丢失到已删除的分支:
这有点骇人听闻,但比销毁大量评论要好得多。从2016年8月15日起,现在可以通过以下方式在本地实现: 您现在可以更改打开的请求的基本分支。创建拉请求后,可以修改基本分支,以便将拉请求中的更改与其他分支进行比较。通过更改原始请求的基本分支,而不是使用正确的基本分支打开新的请求,您将能够保留有价值的工作和讨论
我可以更改目标分支。 诚然,我们无法在PR中编辑目标分支的名称。但诀窍是将分支重命名为其他名称,并将您的目标分支重命名为PR中已存在的分支 示例:我的PR的名称类似于“dev-4.9”。还有一个分支名为“qa-4.9”。我只想让“qa-4.9”成为公关的目标分支。 步骤:1 1) 将分支“dev-4.9”重新命名为其他“original-dev-4.9” 2) 将分支机构“qa-4.9”重新命名为“dev-4.9”
3) 刷新PR url并查看qa-4.9中反映的提交 Github现在支持这一点。公关右端的编辑按钮。直截了当,但不是严格意义上的正确——请参见答案。依赖未记录的(可能是无意的)API功能会让人感到悲伤。没有人说过依赖未记录的API功能。这个问题要求的是一次性问题的解决,而不是永久支持的持续解决方案。无论如何,说“你不能”是完全不真实的。无论哪种方式,未记录的API现在都被破坏了(参见另一个答案的评论),这都是非常令人伤心的。截至2016年8月15日,你可以。看到迈克尔的答案了,没法用。它抱怨field
issue
的值不正确,这可能表明您不能再更改已经实例化的请求。不好意思,你确定你的API调用正确吗?据我所知,这应该仍然有效,并且(有点)被记录在案。请参阅(并搜索“创建拉请求”,然后查看“替代输入”),我今天再次尝试了这个方法,可以确认它不再有效。我将继续探索RESTAPI,希望找到另一种方法来实现这一点。另一件事是目前不支持头部/底部修改。参考:嘿,简,正如汤姆在12月13日12日的评论中提到的,这(很遗憾!)已经不起作用了。。。这真是太遗憾了,因为我今天本可以好好利用它,但唉!还请求了:,发送到GitHub的消息,以及收到的标准“我们将添加到我们的内部bugtracker回复”。这对当前的回复有什么影响?它确认了琥珀色的回复,尽管Tom的回复。这确认了根本不需要此回复。这对当前答案没有任何补充。Tom的回答已经有了一个通知,说明它不再适用了,评论也表明了这一点。我并没有从下面开始,所以只是为了向其他读者澄清(或者>=像我一样愚蠢),这是因为如果你控制了你的PR提交的回购协议。我正在寻找一种方法来更新我提交给一个我无法控制的开源项目的PR。它的工作原理是按下编辑标题,然后出现“base:”按钮,准备更改。
curl --user "your_github_username" \
--request PATCH \
--data '{"title":"newtitle","body":"newbody",...}' \
https://api.github.com/repos/:owner/:repo/pulls/:number
curl --user "jeremyclement" \
--request PATCH \
--data '{"title":"allows the control of files and folders permissions."}' \
https://api.github.com/repos/Gregwar/Cache/pulls/9
git checkout dev-4.9
git branch -w original-dev-4.9
git push origin original-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)