Mat*_*rog 401 git pull github issue-tracking pull-request
我不确定,但我有一个模糊的记忆,创建一个带有"问题4"或标题中某些内容的github pull请求,它会自动附加到我提交给它的项目中的第4期.我最近再次尝试过它并没有用 - 它只是创造了一个全新的问题.我没有在新的请求页面上看到任何选项,例如"附加到问题",也没有在问题页面上看到"为此问题打开新的拉取请求".有没有办法做到这一点,以帮助项目所有者保持他们的问题页面清洁,避免重复?
编辑:为了澄清,我知道创建拉取请求总是会产生新问题.我想将拉取请求附加到现有问题.
Chr*_*ard 244
"hub"项目可以做到这一点:
https://github.com/defunkt/hub
在要从以下位置发送拉取请求的存储库和分支中:
$ hub pull-request -i 4
Run Code Online (Sandbox Code Playgroud)
这使用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
Run Code Online (Sandbox Code Playgroud)
mas*_*omi 231
假设您使用普通的github方法进行分叉,则可以轻松地向现有上游问题添加拉取请求.
只需使用任何受支持的关键字在提交消息中引用该问题:
例如:"此提交修复了#116"
引用该问题的文本不需要出现在提交的主题行中.
将您的提交推送到您的github仓库,拉取请求将自动附加到该问题.
注意:虽然不是必需的,但强烈建议您将针对拉出请求的任何内容提交到特定于该问题的单独分支,因为该分支上的未来提交将附加到拉取请求(由github自动执行) ).因此,如果您没有创建单独的分支,将其保留在master上,然后继续开发,那么所有与master无关的提交都将附加到您的pull请求中.
小智 144
您可以使用Pull Request API从现有问题创建Pull Request:
$ curl --user "smparkes" \
--request POST \
--data '{"issue": 15, "head": "smparkes:synchrony", "base": "master"}' \
https://api.github.com/repos/technoweenie/faraday/pulls
Run Code Online (Sandbox Code Playgroud)
这会创建一个拉取请求:
technoweenie在项目faraday(https://api.github.com/repos/ technoweenie/法拉第 /拉)synchrony分支中拉出来smparkesmaster在分支technoweenie的叉('基地’:' 主 ’)smparkes(-- user " smparkes ")Ror*_*ane 10
另一个答案解释了如何使用cURL(curl)通过GitHub API从问题中创建Pull请求.以下是使用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>
Run Code Online (Sandbox Code Playgroud)
然后在出现提示时键入您的GitHub密码.
您已使用用户名smparkes和密码hunter2登录GitHub .你看到了technoweenie的回购法拉第,想到了应该改变的东西,并在那个回购中提出了问题,问题#15.之后,您发现没有其他人提出您的建议更改,您也有时间自己做.您叉法拉第到自己的帐户,然后再编写的变化和一个分支命名为下他们推到你的叉子同步.您认为technoweenie应该将这些更改提取到其回购的主分支中.这是您要编写的命令,用于将您之前的问题转换为针对此情况的Pull请求:
$ http --auth "smparkes" \
POST \
https://api.github.com/repos/technoweenie/faraday/pulls \
issue=15 head=smparkes:synchrony base=master
Run Code Online (Sandbox Code Playgroud)
http: password for smparkes@api.github.com: hunter2
Run Code Online (Sandbox Code Playgroud)
现在问题#15是拉取请求.
您现在(2020 年 2 月)可以在服务器端(github.com )执行此操作,而不是在客户端执行此操作(使用hub,如Christian Oudard 的 回答)
请参阅“从侧边栏查看和链接问题以及拉取请求”
您现在可以通过各自页面中的侧边栏链接问题和拉取请求。合并链接的拉取请求后,此处建立的连接将自动关闭问题。
文档:
并且有一个具有该功能的搜索 API。
使用搜索限定符查找存储库中具有关闭拉取请求引用的所有未解决问题
linked:pr。
同样,找到存储库中缺少支持问题的所有拉取请求-linked:issue。
“ GitHub Action:拉取请求‘开发’对象/数据,又名链接问题”
Ismosh 的Marketplace 操作用于查找拉取请求的链接问题。
- name: Find linked issues
id: find-linked-issues
uses: Ismoh-Games/find-linked-issues@v0.0.1
with:
token: ${{ secrets.GITHUB_TOKEN }}
repository: ${{ github.repository }} # optional
pull-request-number: ${{ github.event.pull_request.number }} # optional
copy-issues-labels: true # optional
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
83693 次 |
| 最近记录: |