我在 GitHub 上的项目上创建了一个到特定远程分支的拉取请求。一段时间后,远程分支被删除。
如何更改拉取请求以指向另一个分支(特别是master
)?
我在 GitHub 上的项目上创建了一个到特定远程分支的拉取请求。一段时间后,远程分支被删除。
如何更改拉取请求以指向另一个分支(特别是master
)?
您现在可以更改打开的拉取请求的基本分支。创建拉取请求后,您可以修改基础分支,以便将拉取请求中的更改与不同的分支进行比较。通过更改原始拉取请求的基础分支而不是使用正确的基础分支打开新分支,您将能够保留有价值的工作和讨论。
单击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
repo 上的 issue 15 体现的拉取请求,以使用forknew-branch
上的tom/fabproj
分支。
编辑:注意:根据评论,以上仅用于将新的拉取请求附加到现有问题。
截至 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 url 并查看 qa-4.9 中反映的提交。
不要将与 PR 相关的所有评论丢失到已删除的分支:
例如,您有一个到 branch1 的 PR,该 PR 已被删除。您现在想要合并以掌握并保留对现有 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 developer doc中找到详细的数据列表
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
目前,唯一的解决方案似乎是Amber