我在GitHub上的项目上创建了一个到特定远程分支的请求请求。一段时间后,远程分支被删除。
如何更改拉取请求以指向另一个分支(特别是master
)?
我在GitHub上的项目上创建了一个到特定远程分支的请求请求。一段时间后,远程分支被删除。
如何更改拉取请求以指向另一个分支(特别是master
)?
Answers:
现在,您可以更改打开的拉取请求的基础分支。创建拉取请求后,可以修改基础分支,以便将拉取请求中的更改与另一个分支进行比较。通过更改原始拉取请求的基础分支,而不是使用正确的基础分支打开一个新分支,您将能够保留宝贵的工作和讨论。
单击Edit拉取请求标题旁的按钮以显示基本分支选择器。
你不能 只需提出一个新的请求即可。
尽管未记录,但您可以使用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
回购上由发行版15体现的拉取请求,以使用派生new-branch
上的tom/fabproj
分支。
编辑:注意:根据评论,以上内容仅用于将新的请求请求附加到现有问题。
issue
的值不正确,可能表明您不能再更改已实例化的请求请求。耻辱。
从2016年8月15日开始,现在可以通过Github本地实现:
现在,您可以更改打开的拉取请求的基础分支。创建拉取请求后,可以修改基础分支,以便将拉取请求中的更改与另一个分支进行比较。通过更改原始拉取请求的基础分支,而不是使用正确的基础分支打开一个新分支,您将能够保留宝贵的工作和讨论。
我可以更改目标分支。的确,我们不能在PR中编辑目标分支的名称。但是诀窍是将分支重命名为其他名称,并将目标分支重命名为PR中已经存在的分支。
示例:我的PR的名称类似“ dev-4.9”。还有另一个分支,名为“ qa-4.9”。我只想将“ qa-4.9”作为PR目标分支。步骤:1 1)将分支“ dev-4.9”重命名为其他名称“ original-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网址,然后查看qa-4.9中的提交。
不要丢失与PR关联的所有注释到已删除的分支:
例如对于您有PR到branch1,它已被删除。现在,您想合并以掌握和保留有关现有PR的评论:
这有点古怪,但比破坏大量评论要好得多。
Github现在支持这一点。PR右端的“编辑”按钮。
您应该使用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/label
和head/ref
不可编辑。目前,唯一的解决方案似乎是琥珀色