您如何将新的拉力请求附加到GitHub上的现有问题上?
-
13-10-2019 - |
题
我不确定,但是我有一个模糊的记忆,即创建带有“第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密码
这个答案 说明如何使用 卷曲 (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的作者。
如果您启用了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转换为拉请请求。