你如何将一个新的pull请求附加到github上的现有问题上?

我不确定,但我有一个模糊的记忆,用标题中的“Issue 4”或其他内容创建github pull请求,并且它自动附加到我提交给它的项目中的Issue 4。 我最近又试了一次,但没有奏效 - 它只是创建了一个全新的问题。 在新的请求页面上看不到任何选项,例如“附加到问题”,也没有在问题页面上显示“为此问题打开新的请求”。 有没有办法做到这一点,以帮助项目业主保持他们的问题页面干净,避免重复?

编辑 :为了澄清,我知道创建拉请求总是会产生一个新问题。 我想将拉取请求附加到现有问题上。


“枢纽”项目可以做到这一点:

https://github.com/defunkt/hub

在您想要从以下位置发送拉取请求的存储库和分支中:

$ hub pull-request -i 4

这使用GitHub API,并将当前分支的拉取请求附加到现有的问题编号4。


编辑: @atomicules评论:扩展@MichaelMior的答案一个完整的例子是:

$ hub pull-request -i 4 -b USERNAME_OF_UPSTREAM_OWNER:UPSTREAM_BRANCH -h YOUR_USERNAME:YOUR_BRANCH URL_TO_ISSUE

假设你使用普通的github方法分叉,将pull请求添加到现有的上游问题很容易。

只需使用任何受支持的关键字在您的提交消息中引用问题即可:

  • 关闭
  • 关闭
  • 固定
  • 修复
  • 固定
  • 解决
  • 做出决议
  • 解决
  • 例如:“此提交修复了#116”

    引用问题的文本不需要出现在提交的主题行中。

    将你的提交推送到你的github仓库,并且这个提交请求将被自动附加到问题上。

    注意:虽然它不是必需的,但强烈建议您将任何将拉动请求的一部分提交给特定于该问题的单独分支,因为该分支上的未来提交将附加到拉取请求(由github自动添加)。 所以,如果你没有创建一个独立的分支,把它留在主人身上,然后继续开发,那么你所有与主人无关的提交都会附加到你的请求中。


    您可以使用Pull Request API从现有问题创建合并请求:

    $ curl --user "smparkes" 
           --request POST 
           --data '{"issue": "15", "head": "smparkes:synchrony", "base": "master"}' 
           https://api.github.com/repos/technoweenie/faraday/pulls
    

    这会产生一个拉取请求:

  • faraday项目上询问technoweenie (https://api.github.com/repos/ technoweenie / 法拉第 /拉)
  • smparkessynchrony分支中smparkes (“head”:“ smparkessynchrony ”)
  • technoweenie的fork中的master分支(“base”:“ master ”)
  • 并将问题请求附加到问题15(“问题”:“ 15 ”)
  • 与拉请求作者smparkes (-- usersmparkes ”)
  • 系统会提示您输入GitHub密码
  • 链接地址: http://www.djcxy.com/p/22459.html

    上一篇: How do you attach a new pull request to an existing issue on github?

    下一篇: GitHub clone from pull request?