AVI*_*per 30 git github pull-request
我正在开发一个包含大量分支和拉取请求的GitHub仓库.
比方说,我有以下拉取请求:
a 分支 Xb 分支 Xc 分支 Yd 分支 Xe分支Y.有没有办法找到有针对性的分支的所有引入请求X(即a -> X,b -> X,d -> X)?
And*_*vid 43
是的,你可以做到.
在Github的术语中,"to branch"是"base"所以搜索短语是: is:open is:pr base:X
官方说明:根据分支机构名称进行搜索
您也可以选择添加is:merged或is:unmerged过滤.
Gab*_*les 17
head如何按“来自 ( ) 分支”、“至 ( base) 分支”和作者搜索 PR ,包括使用可在搜索栏中快速触发的自定义 Chrome 搜索引擎执行此操作:注意:以下在 GitHub 上搜索 PR(拉取请求)的目的是在此处的 PR 搜索栏中完成(https://github.com --> 顶部的“拉取请求”)(直接链接:https:// github.com/pulls),而不是在几乎所有 GitHub 页面左上角的通用 GitHub 搜索栏中,尽管它们也可能在那里工作。
\n另请参阅我的回答:我可以使用逻辑运算符 OR 搜索 github 标签吗?
\n用 GitHub 术语来说,您要合并的分支是分支head,您要合并的分支是分支base。请参阅此处:https://docs.github.com/en/github/searching-for-information-on-github/searching-issues-and-pull-requests#search-by-branch-name。我不确定他们为什么不选择from_branch,to_branch因为那样会更容易记住。
my_branch使用搜索字符串查找所有 PR FROM head:my_branch:is:open is:pr archived:false head:my_branch\nRun Code Online (Sandbox Code Playgroud)\n(可选)也指定一个存储库:
\nis:open is:pr archived:false repo:some_username/some_repository head:my_branch\nRun Code Online (Sandbox Code Playgroud)\nmy_branch2.使用搜索字符串查找合并到 TO 中的所有 PR base:my_branch:is:open is:pr archived:false base:my_branch\nRun Code Online (Sandbox Code Playgroud)\n(可选)也指定一个存储库:
\nis:open is:pr archived:false repo:some_username/some_repository base:my_branch\nRun Code Online (Sandbox Code Playgroud)\n来自官方 GitHub 文档:https://docs.github.com/en/github/searching-for-information-on-github/searching-issues-and-pull-requests#search-by-branch-name:
\n\n\n按分行名称搜索
\n您可以根据拉取请求来自的分支(“头”分支)或它们要合并到的分支(“基础”分支)来过滤拉取请求。
\nRun Code Online (Sandbox Code Playgroud)\nQualifier Example \n--------------------- -------------------------------------------------\n`head:HEAD_BRANCH` `head:change is:closed is:unmerged` matches pull \n requests opened from branch names beginning with \n the word "change" that are closed.\n\n`base:BASE_BRANCH` `base:gh-pages` matches pull requests that are \n being merged into the gh-pages branch.\n
对于那些不知道的人来说,Chrome 浏览器允许您创建自定义搜索引擎。如果我转到浏览器搜索栏并输入gto或Space,Tab然后输入我的分支名称 ,my_branch我会看到这一点。我实际上正在搜索所有合并到分支的开放 PR my_branch,使用由我gto设置的快捷方式触发的自定义搜索引擎:
以下是如何配置它们:
\n在 Chrome 中,单击右上角的 3 个点 --> 设置 --> 搜索引擎(在左侧窗格中)-->“管理搜索引擎”--> 在“其他搜索引擎”下,单击“添加”按钮。像这样设置:\n
完成后单击“保存”。以下是我最喜欢的 3 个:
\nGitHub PRs merging TO branchgto%s查询:https://github.com/pulls?q=is%3Aopen+is%3Apr+archived%3Afalse+base%3A%sGitHub PRs merging FROM branchgfrom%s查询:https://github.com/pulls?q=is%3Aopen+is%3Apr+archived%3Afalse+head%3A%sGitHub PRs BY this Usergby%s查询:https://github.com/pulls?q=is%3Aopen+is%3Apr+author%3A%s+archived%3Afalse+计算出为 URL 搜索字符串添加内容的方法实际上非常简单:您只需转到 GitHub 并使用 GitHub 的工具手动执行搜索,然后复制并粘贴 URL,替换您的搜索字符串我想要%s在自定义 Chrome 搜索引擎网址中进行搜索。就是这样!一旦您在其网站上进行自定义搜索,此过程适用于将搜索变量存储到 URL 中的所有网站,这是许多(如果不是大多数)具有搜索功能的网站。
关键词:Google chrome / GitHub PR 浏览器自定义搜索引擎
\n小智 11
截至2016-01-10,这已被添加到gh搜索栏api中,请参阅下一个答案.
原始接受(现在已解决的答案)未经编辑.
GitHub目前没有提供通过其Web界面过滤目标分支的拉取请求的方法.相反,您当前获得的只是具有主题分支名称的整个pull-requests列表:

单击一个pull-request将显示目标分支,但这并不能帮助您执行任何您想要执行的过滤.
但是,可以使用GitHub REST API过滤pull-requests :
GET /repos/:owner/:repo/pulls?base=:branch
Run Code Online (Sandbox Code Playgroud)
这应该显示repo的所有打开请求:owner/:repo,由:branch作为其基本分支的请求过滤.从文档:
过滤器按基本分支名称拉取.示例:
gh-pages.
如果curl可用,可以从命令行在公共存储上测试:
curl https://api.github.com/repos/codecombat/codecombat/pulls?base=master > \
pulls.json
Run Code Online (Sandbox Code Playgroud)
这将返回以下形式的JSON响应:
[
{
"url": "https://api.github.com/repos/codecombat/codecombat/pulls/879",
"id": 14955421,
"html_url": "https://github.com/codecombat/codecombat/pull/879",
"head": {
"label": "DanielRodriguezRivero:patch-4",
"ref": "patch-4",
"sha": "baff84f0aeee12f23e3608558ae5341a0b5f939b",
"repo": {
"id": 16202384,
"name": "codecombat",
"full_name": "DanielRodriguezRivero/codecombat"
}
},
"base": {
"label": "codecombat:master",
"ref": "master",
"sha": "5e2f3ac7cb731a6e40e81737a5122c7fe1b746d3",
"repo": {
"id": 15193430,
"name": "codecombat",
"full_name": "codecombat/codecombat"
}
}
}
]
Run Code Online (Sandbox Code Playgroud)
数组中的每个对象都是一个pull-request,由base/target分支过滤.JSON实际上包含了比这更多的信息,我刚删除了大部分信息以显示此问题的相关部分.
您可以编写一个Python/Ruby/PHP/Whatever脚本,然后解析html_url每个pull-request 的属性并在命令行中列出它.例如,这是一个简单的Ruby脚本,它将解析从输出中保存的JSON响应的curl输出:
require 'json'
json = JSON.parse(File.read('./pulls.json'))
pulls = json.map { |pull| { title: pull['title'], url: pull['html_url'] } }
pulls.each do |pull|
puts pull.values
puts
end
Run Code Online (Sandbox Code Playgroud)
其中输出如下:
$ ruby parser.rb
Update es-ES.coffee
https://github.com/codecombat/codecombat/pull/879
Fix deltas referring to last system saved
https://github.com/codecombat/codecombat/pull/874
Refactor getNameById and add naming to systems in deltas
https://github.com/codecombat/codecombat/pull/866
Traducido varios textos del fichero es-ES.coffe al espa??ol de Espa??a
https://github.com/codecombat/codecombat/pull/865
Anon name collide
https://github.com/codecombat/codecombat/pull/834
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9648 次 |
| 最近记录: |