我不确定,但是我有一个模糊的记忆,即创建带有“第4期”或标题中的内容的GitHub拉动请求,并且它自动将自己附加到我提交的项目中的问题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表示分叉.

只需使用任何一个 支持的关键字:

  • 关闭
  • 关闭
  • 使固定
  • 修复
  • 固定的
  • 解决
  • 解决
  • 解决

例如:“此提交修复#116”

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

将您的提交推向GitHub存储库,并将自动将拉力请求附加到该问题上。

注意:虽然不需要,但强烈建议您提交任何将成为该问题的单独分支的请求的一部分,因为该分支上的未来提交将附加到拉请请求中(Github自动自动。 )。因此,如果您没有单独的分支,将其放在主分支上,然后继续开发,那么您所有无关的致力于主的承诺都会将其附加在您的拉请请求中。

您可以从现有问题中创建一个拉动请求 拉请求API:

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

这创建了一个拉请求:

  • technoweenie 在项目 faraday (https://api.github.com/repos/技术/法拉第/拉)
  • synchrony 分支 smparkes'叉(“头”:”Smparkes:同步")
  • master 分支 technoweenie的叉(“基础”:”掌握")
  • 并将拉的请求附加到第15期(“问题”:: 15)
  • 与拉请请求作者 smparkes ( - 用户”Smparkes")
  • 您将提示您的GitHub密码

另一个可能的工具是 Exesight2PR网站 这将您的问题变成了拉的请求。

这非常简单有效!

enter image description here

资源:

这个答案 说明如何使用 卷曲 (curl)通过问题创建问题 github api. 。这是使用的方法 httpie (http),产生易于阅读且易于编辑的命令:

$ http --auth "<your-GitHub-username>" \
       POST \
       https://api.github.com/repos/<issue-repo-owner>/<issue-repo-name>/pulls \
       issue=<issue-number> head=<your-GitHub-username>:<your-fork-branch-name> base=<issue-repo-branch-name>

然后在提示时输入github密码。

解释的例子

您已经使用用户名登录了GitHub Smparkes 和密码 Hunter2. 。你看到了 技术的仓库 法拉第, ,想到应该改变的东西,并在该仓库上提出问题, 问题 #15. 。后来,您发现没有其他人做出您的拟议更改,您也有一些时间自己做。你 叉子 法拉第 关于您自己的帐户, ,然后写下您的更改,然后将它们推到一个名为的分支下的叉子 同步. 。您认为 技术 应该将这些更改拉到 掌握 他的存储库的分支。这是您要编写的命令将您的上一期转换为此情况的拉动请求:

$ http --auth "smparkes" \
       POST \
       https://api.github.com/repos/technoweenie/faraday/pulls \
       issue=15 head=smparkes:synchrony base=master
http: password for smparkes@api.github.com: hunter2

现在 问题 #15 是拉的请求。

如果您使用github使用2因子实体,则需要在请求中提供Authtoken作为标题:

curl -u "<your_username>:<your_pw>" \
     --header 'X-GitHub-OTP: <your_authtoken>' \
     --request POST \
     --data '{"issue":"<issue_nr>", "head":"<your_username>:<your_forks_branchname>", "base":"<upstream_branch>"}' \
     https://api.github.com/repos/<upstream_user>/<upstream_repo>/pulls

您也可以使用 古布 提交您的问题请求请求。

它还可以帮助您使用合适的叉子/plap架样式。

编辑:2013年10月5日

要使GUB提交第123号问题的拉普雷斯,您需要运行以下内容:

$ gub start 123

这将创建一个新的分支机构-123。完成问题后,执行:

$ gub finish

瞧!

注意:我是Gub Gem的作者。

使用 git-hub 工具,您可以用:

$> git hub pull attach 123

这将将问题#123转换为拉请求#123,从而在单个位置中维护有关该问题的所有讨论。

如果您启用了2FA,则可以使用HTTPIE使用“通过”令牌:

http POST \
    https://api.github.com/repos/<repo-owner>/<repo-name>/pulls \
    issue=2 head=issue_2 base=master
    "Authorization:token PUTAUTHTOKENHERE"

这将使用分支 issue_2 将问题#2转换为拉请请求。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top