Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Github 如何更改请求的基本分支?_Github_Pull Request - Fatal编程技术网

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

Github 如何更改请求的基本分支?,github,pull-request,Github,Pull Request,我在GitHub上的项目上创建了一个到特定远程分支的pull请求。一段时间后,远程分支被删除 如何更改pull请求以指向另一个分支(特别是master) 您现在可以更改打开的请求的基本分支。创建拉请求后,可以修改基本分支,以便将拉请求中的更改与其他分支进行比较。通过更改原始请求的基本分支,而不是使用正确的基本分支打开新的请求,您将能够保留有价值的工作和讨论 单击拉动请求标题旁边的编辑按钮,以显示基本分支选择器 旧答案 你不能。只需提出一个新的请求。尽管没有文档记录,但您可以使用GitHub

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

如何更改pull请求以指向另一个分支(特别是
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相关的所有注释丢失到已删除的分支:

  • 再次在本地创建分支,使用与要合并到的分支相同的名称和内容
  • 推动该分支以重新创建远程分支;然后
  • 重新打开分支机构的PR 例如,您有一个到branch1的PR,该PR已被删除。您现在希望合并以掌握并保留对现有PR的评论:

  • git签出主机
  • 吉特拉力
  • git签出-b branch1
  • git推送
  • 重新打开你的公关到branch1
  • 合并到branch1时,合并到master

  • 这有点骇人听闻,但比销毁大量评论要好得多。

    从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)