您可以在整个 GitHub 中全局搜索问题和拉取请求,也可以在特定组织内搜索问题和拉取请求。有关更多信息,请参阅“关于在 GitHub 上搜索”。
提示
仅搜索问题或拉取请求
默认情况下,GitHub 搜索将返回问题和拉取请求。但是,您可以使用 type
或 is
限定符将搜索结果限制为仅问题或拉取请求。
限定符 | 示例 |
---|---|
type:pr | cat type:pr匹配包含单词“cat”的拉取请求。 |
type:issue | github commenter:defunkt type:issue匹配包含单词“github”且有 @defunkt 评论的问题。 |
is:pr | event is:pr匹配包含单词“event”的拉取请求。 |
is:issue | is:issue label:bug is:closed匹配标签为“bug”的已关闭问题。 |
按标题、正文或评论搜索
使用 in
限定符可以将搜索范围限制在标题、正文、评论或这些内容的任意组合。省略此限定符时,将搜索标题、正文和评论。
限定符 | 示例 |
---|---|
in:title | warning in:title 匹配标题中包含“warning”的问题。 |
in:body | error in:title,body 匹配标题或正文中包含“error”的问题。 |
in:comments | shipit in:comments 匹配评论中提到“shipit”的问题。 |
在用户或组织的代码库中搜索
若要搜索特定用户或组织拥有的所有代码库中的问题和请求,可以使用 user
或 org
限定符。若要搜索特定代码库中的问题和请求,可以使用 repo
限定符。
如果可以访问超过 10,000 个代码库中的请求,则需要将搜索范围限制在特定的组织、个人帐户或代码库中才能查看结果。
限定符 | 示例 |
---|---|
user:USERNAME | user:defunkt ubuntu 匹配 @defunkt 拥有的代码库中包含“ubuntu”一词的问题。 |
org:ORGNAME | org:github 匹配 GitHub 组织拥有的代码库中的问题。 |
repo:USERNAME/REPOSITORY | repo:mozilla/shumway created:<2012-03-01 匹配在 2012 年 3 月之前创建的 @mozilla 的 shumway 项目中的问题。 |
按打开或关闭状态搜索
可以使用 state
或 is
限定符根据问题和请求是打开还是关闭来筛选。
限定符 | 示例 |
---|---|
state:open | libraries state:open mentions:vmg 匹配提及 @vmg 且包含“libraries”一词的打开问题。 |
state:closed | design state:closed in:body 匹配正文中包含“design”一词的已关闭问题。 |
is:open | performance is:open is:issue 匹配包含“performance”一词的打开问题。 |
is:closed | android is:closed 匹配包含“android”一词的已关闭问题和请求。 |
在合并队列中搜索请求
还可以使用 is
限定符查找已排队合并的请求。
限定符 | 示例 |
---|---|
is:queued | is:queued 匹配当前排队合并的 pull request。 |
按问题关闭原因搜索
你可以使用 reason
限定符,根据问题关闭时给出的原因来筛选问题。
限定符 | 示例 |
---|---|
reason:completed | libraries is:closed reason:completed 匹配包含单词“libraries”且因“已完成”而关闭的问题。 |
reason:"not planned" | libraries is:closed reason:"not planned" 匹配包含单词“libraries”且因“未计划”而关闭的问题。 |
按代码库可见性筛选
你可以使用 is
限定符,按包含问题和 pull request 的代码库可见性进行筛选。更多信息,请参阅“关于代码库”。
限定符 | 示例 |
---|---|
is:public | is:public 匹配公共代码库中的问题和 pull request。 |
is:private | is:private cupcake 匹配包含单词“cupcake”且在你可访问的私有代码库中的问题和 pull request。 |
按作者搜索
author
限定符查找由某个用户或集成帐户创建的问题和 pull request。
限定符 | 示例 |
---|---|
author:USERNAME | cool author:gjtorikian 匹配包含单词“cool”且由 @gjtorikian 创建的问题和 pull request。 |
in:body author:USERNAME | bootstrap in:body author:mdo 匹配由 @mdo 编写且正文中包含单词“bootstrap”的问题。 |
author:app/USERNAME | author:app/robot 匹配由名为“robot”的集成帐户创建的问题。 |
- author:app/USERNAME | -author:app/robot 匹配由除名为“robot”的集成帐户外的任何用户创建的问题。限定符前的减号或连字符 (- ) 表示搜索查询中限定符的逻辑非。 |
按指派人搜索
assignee
限定符查找分配给特定用户的 issue 和 pull request。您可以使用通配符 *
搜索具有任何分配者的 issue 和 pull request,但仅限于单个存储库内。您还可以搜索没有分配者的 issue 和 pull request。
限定符 | 示例 |
---|---|
assignee:USERNAME | assignee:vmg repo:libgit2/libgit2 匹配分配给 @vmg 的 libgit2 项目 libgit2 中的 issue 和 pull request。 |
assignee:* | is:open is:issue assignee:* 匹配分配给任何用户的单个存储库内的开放 issue。 |
按提及搜索
mentions
限定符查找提及特定用户的 issue。有关详细信息,请参阅“基本书写和格式化语法”。
限定符 | 示例 |
---|---|
mentions:USERNAME | resque mentions:defunkt 匹配包含单词“resque”且提及 @defunkt 的 issue。 |
按团队提及搜索
对于您所属的组织和团队,您可以使用 team
限定符查找在该组织内 @提及特定团队的 issue 或 pull request。用您的组织和团队名称替换这些示例名称以执行搜索。
限定符 | 示例 |
---|---|
team:ORGNAME/TEAMNAME | team:jekyll/owners 匹配提及 @jekyll/owners 团队的 issue。 |
team:ORGNAME/TEAMNAME is:open is:pr | team:myorg/ops is:open is:pr 匹配提及 @myorg/ops 团队的开放 pull request。 |
按评论者搜索
commenter
限定符查找包含特定用户评论的 issue。
限定符 | 示例 |
---|---|
commenter:USERNAME | github commenter:defunkt org:github 匹配由 GitHub 拥有、包含单词“github”且有 @defunkt 评论的存储库中的问题。 |
按参与问题或请求拉取的用户搜索
你可以使用 involves
限定符查找以某种方式涉及某个用户的 issue。involves
限定符是对单个用户的 author
、assignee
、mentions
和 commenter
限定符的逻辑 OR。换句话说,此限定符查找由某个用户创建、分配给该用户、提及该用户或由该用户评论的问题和请求拉取。
限定符 | 示例 |
---|---|
involves:USERNAME | involves:defunkt involves:jlord 匹配 @defunkt 或 @jlord 参与的问题。 |
in:body involves:USERNAME | NOT bootstrap in:body involves:mdo 匹配 @mdo 参与的问题,但不包含正文中的单词“bootstrap”。 |
搜索我的问题和请求拉取
你可以通过在所需限定符后跟 @me
来搜索你创建或与之交互的问题和请求拉取。任何与用户名一起使用的限定符都允许你将搜索限制为你创建、分配、提及或请求作为审阅者的 issue 和请求拉取。
限定符 | 示例 |
---|---|
author:@me | author:@me 匹配你撰写的 issue 和请求拉取。 |
is:pr commenter:@me | is:pr commenter:@me 匹配你已评论的请求拉取。 |
搜索链接的问题和请求拉取
你可以缩小结果范围,仅包括通过关闭引用链接到请求拉取的问题,或链接到请求拉取可能关闭的问题的请求拉取。
限定符 | 示例 |
---|---|
linked:pr | repo:desktop/desktop is:open linked:pr 匹配 desktop/desktop 存储库中通过关闭引用链接到请求拉取的开放问题。 |
linked:issue | repo:desktop/desktop is:closed linked:issue 匹配 desktop/desktop 存储库中已关闭的请求拉取,这些请求拉取链接到请求拉取可能已关闭的问题。 |
-linked:pr | repo:desktop/desktop is:open -linked:pr 匹配未通过关闭引用链接到拉取请求的 desktop/desktop 存储库中的开放式问题。 |
-linked:issue | repo:desktop/desktop is:open -linked:issue 匹配未链接到拉取请求可能关闭的问题的 desktop/desktop 存储库中的开放式拉取请求。 |
按标签搜索
你可以使用 label
限定符按标签缩小搜索结果范围。由于问题可以有多个标签,因此你可以为每个问题列出单独的限定符。
限定符 | 示例 |
---|---|
label:LABEL | label:"help wanted" language:ruby 匹配 Ruby 存储库中带有标签“help wanted”的问题。 |
in:body -label:LABEL label:LABEL | broken in:body -label:bug label:priority 匹配正文中带有单词“broken”、不带有标签“bug”但带有标签“priority”的问题。 |
label:LABEL label:LABEL | label:bug label:resolved 匹配带有标签“bug”和“resolved”的问题。 |
label:LABEL,LABEL | label:bug,resolved 匹配带有标签“bug”或标签“resolved”的问题。 |
按里程碑搜索
milestone
限定符查找存储库中的 里程碑 的一部分的问题或拉取请求。
限定符 | 示例 |
---|---|
milestone:MILESTONE | milestone:"overhaul" 匹配名为“overhaul”的里程碑中的问题。 |
milestone:MILESTONE | milestone:"bug fix" 匹配名为“bug fix”的里程碑中的问题。 |
按项目搜索
你可以使用 project
限定符查找与特定项目关联的问题。你必须按项目编号搜索项目。你可以在项目 URL 的末尾找到项目编号。
限定符 | 示例 |
---|---|
project:PROJECT_NUMBER | project:github/57 匹配由 GitHub 所有且与该组织的项目 57 关联的问题。 |
project:REPOSITORY/PROJECT_NUMBER | project:github-linguist/linguist/1 匹配与 @github 的 linguist 存储库中的项目 1 关联的问题。 |
按提交状态搜索
你可以基于提交状态过滤拉取请求。如果你正在使用状态 API或 CI 服务,这会特别有用。
限定符 | 示例 |
---|---|
status:pending | language:go status:pending匹配到状态为待定的 Go 仓库中打开的拉取请求。 |
status:success | is:open status:success finally in:body匹配到正文中包含单词“finally”且状态为成功的打开的拉取请求。 |
status:failure | created:2015-05-01..2015-05-30 status:failure匹配到 2015 年 5 月打开且状态为失败的拉取请求。 |
按提交 SHA 搜索
如果你知道提交的特定 SHA 哈希,你可以使用它来搜索包含该 SHA 的拉取请求。SHA 语法必须至少包含七个字符。
限定符 | 示例 |
---|---|
SHA | e1109ab匹配到提交 SHA 以 e1109ab 开头的拉取请求。 |
SHA is:merged | 0eff326d6213c is:merged匹配到提交 SHA 以 0eff326d6213c 开头的已合并的拉取请求。 |
按分支名称搜索
你可以基于拉取请求的来源分支(“head”分支)或合并目标分支(“base”分支)过滤拉取请求。
限定符 | 示例 |
---|---|
head:HEAD_BRANCH | head:change is:closed is:unmerged匹配到从以单词“change”开头的分支名称打开且已关闭的拉取请求。 |
base:BASE_BRANCH | base:gh-pages匹配到正在合并到 gh-pages 分支的拉取请求。 |
按语言搜索
使用 language
限定符,你可以搜索使用特定语言编写的仓库中的问题和拉取请求。
限定符 | 示例 |
---|---|
language:LANGUAGE | language:ruby state:open匹配到 Ruby 仓库中的打开的问题。 |
按评论数量搜索
您可以将comments
限定符与大于、小于和范围限定符一起使用,按评论数进行搜索。
限定符 | 示例 |
---|---|
comments:n | state:closed comments:>100匹配评论数超过 100 的已关闭 issue。 |
comments:n..n | comments:500..1000匹配评论数在 500 到 1000 之间的 issue。 |
按交互数搜索
您可以使用interactions
限定符和大于、小于和范围限定符,按交互数筛选 issue 和 pull request。交互数是指 issue 或 pull request 上的反应和评论数。
限定符 | 示例 |
---|---|
interactions:n | interactions:>2000匹配交互数超过 2000 的 pull request 或 issue。 |
interactions:n..n | interactions:500..1000匹配交互数在 500 到 1000 之间的 pull request 或 issue。 |
按反应数搜索
您可以使用reactions
限定符和大于、小于和范围限定符,按反应数筛选 issue 和 pull request。
限定符 | 示例 |
---|---|
reactions:n | reactions:>1000匹配反应数超过 1000 的 issue。 |
reactions:n..n | reactions:500..1000匹配反应数在 500 到 1000 之间的 issue。 |
搜索草稿 pull request
您可以筛选草稿 pull request。有关详细信息,请参阅“关于 pull request”。
限定符 | 示例 |
---|---|
草稿:真 | 草稿:真 匹配草稿拉取请求。 |
草稿:假 | 草稿:假 匹配已准备好进行审核的拉取请求。 |
按拉取请求审核状态和审核人搜索
你可以根据拉取请求的审核状态(无、必需、已批准或请求更改)、按审核人和按请求的审核人筛选拉取请求。
限定符 | 示例 |
---|---|
审核:无 | 类型:pr 审核:无 匹配尚未审核的拉取请求。 |
审核:必需 | 类型:pr 审核:必需 匹配在合并之前需要审核的拉取请求。 |
审核:已批准 | 类型:pr 审核:已批准 匹配审核人已批准的拉取请求。 |
审核:请求更改 | 类型:pr 审核:请求更改 匹配审核人已要求更改的拉取请求。 |
已审核人:用户名 | 类型:pr 已审核人:gjtorikian 匹配由特定人员审核的拉取请求。 |
请求审核人:用户名 | 类型:pr 请求审核人:benbalter 匹配请求特定人员审核的拉取请求。在审核拉取请求后,请求的审核人将不再列在搜索结果中。如果请求的人员属于请求审核的团队,则对该团队的审核请求也将显示在搜索结果中。 |
用户请求审核人:@我 | 类型:pr 用户请求审核人:@我 匹配你直接被要求审核的拉取请求。 |
团队请求审核人:团队名称 | 类型:pr 团队请求审核人:github/docs 匹配来自团队 github/docs 的审核请求的拉取请求。在审核拉取请求后,请求的审核人将不再列在搜索结果中。 |
按问题或拉取请求创建或上次更新的时间搜索
你可以根据创建或上次更新的时间筛选问题。对于问题创建,可以使用 created
限定符;要找出问题上次更新的时间,你需要使用 updated
限定符。
两者都将日期作为参数。日期格式必须遵循ISO8601 标准,即 YYYY-MM-DD
(年-月-日)。你还可以添加可选的时间信息 THH:MM:SS+00:00
在日期之后,按小时、分钟和秒搜索。即 T
,后跟 HH:MM:SS
(小时-分钟-秒)和 UTC 偏移(+00:00
)。
搜索日期时,可以使用大于、小于和范围限定符进一步筛选结果。有关更多信息,请参阅“了解搜索语法”。
限定符 | 示例 |
---|---|
创建:YYYY-MM-DD | language:c# created:<2011-01-01 state:open 匹配在 2011 年之前使用 C# 编写的存储库中创建的开放问题。 |
更新:YYYY-MM-DD | weird in:body updated:>=2013-02-01 匹配在 2013 年 2 月之后更新且正文中包含单词“weird”的问题。 |
按问题或拉取请求关闭的时间进行搜索
你可以使用 closed
限定符,根据问题和拉取请求关闭的时间进行筛选。
此限定符采用日期作为其参数。日期格式必须遵循 ISO8601 标准,即 YYYY-MM-DD
(年-月-日)。你还可以根据小时、分钟和秒进行搜索,在日期后添加可选的时间信息 THH:MM:SS+00:00
。即 T
,后跟 HH:MM:SS
(小时-分钟-秒)和 UTC 偏移(+00:00
)。
搜索日期时,可以使用大于、小于和范围限定符进一步筛选结果。有关更多信息,请参阅“了解搜索语法”。
限定符 | 示例 |
---|---|
closed:>YYYY-MM-DD | language:swift closed:>2014-06-11 匹配在 2014 年 6 月 11 日之后关闭的 Swift 中的问题和拉取请求。 |
in:body closed:<YYYY-MM-DD | data in:body closed:<2012-10-01 匹配在 2012 年 10 月之前关闭且正文中包含单词“data”的问题和拉取请求。 |
按拉取请求合并的时间进行搜索
你可以使用 merged
限定符,根据拉取请求合并的时间进行筛选。
此限定符采用日期作为其参数。日期格式必须遵循 ISO8601 标准,即 YYYY-MM-DD
(年-月-日)。你还可以根据小时、分钟和秒进行搜索,在日期后添加可选的时间信息 THH:MM:SS+00:00
。即 T
,后跟 HH:MM:SS
(小时-分钟-秒)和 UTC 偏移(+00:00
)。
搜索日期时,可以使用大于、小于和范围限定符进一步筛选结果。有关更多信息,请参阅“了解搜索语法”。
限定符 | 示例 |
---|---|
language:LANGUAGE merged:<YYYY-MM-DD | language:javascript merged:<2011-01-01 匹配在 2011 年之前合并的 JavaScript 存储库中的拉取请求。 |
in:title language:LANGUAGE merged:>YYYY-MM-DD | fast in:title language:ruby merged:>=2014-05-01 匹配在 2014 年 5 月之后合并且标题中包含单词“fast”的 Ruby 中的拉取请求。 |
按拉取请求是合并还是未合并进行搜索
你可以使用 is
限定符根据请求是已合并还是未合并来筛选请求。
限定符 | 示例 |
---|---|
is:merged | bug is:pr is:merged 匹配包含单词“bug”的已合并请求。 |
is:unmerged | error is:unmerged 匹配包含单词“error”的请求,这些请求可能是打开的,也可能是未合并就关闭的。 |
根据存储库是否已归档进行搜索
archived
限定符根据问题或请求是否在已归档存储库中来筛选你的结果。
限定符 | 示例 |
---|---|
archived:true | archived:true GNOME 匹配包含单词“GNOME”且位于你具有访问权限的已归档存储库中的问题和请求。 |
archived:false | archived:false GNOME 匹配包含单词“GNOME”且位于你具有访问权限的未归档存储库中的问题和请求。 |
根据对话是否已锁定进行搜索
你可以使用 is
限定符搜索具有锁定对话的问题或请求。有关更多信息,请参阅“锁定对话”。
限定符 | 示例 |
---|---|
is:locked | code of conduct is:locked is:issue archived:false 匹配包含单词“code of conduct”且在未归档存储库中具有锁定对话的问题或请求。 |
is:unlocked | code of conduct is:unlocked is:issue archived:false 匹配包含单词“code of conduct”且在未归档存储库中具有解锁对话的问题或请求。 |
按缺失元数据搜索
你可以使用 no
限定符将搜索范围缩小到缺失特定元数据的请求和问题。这些限定符不能与减号(连字符)符号结合使用,以排除缺失元数据的项目。该元数据包括
- 标签
- 里程碑
- 受让人
- 项目
限定符 | 示例 |
---|---|
no:label | priority no:label 匹配包含单词“priority”且没有任何标签的问题和请求。 |
no:milestone | sprint no:milestone type:issue 匹配不包含“sprint”一词且不与里程碑关联的问题。 |
no:assignee | important no:assignee language:java type:issue 匹配不与受让人关联、包含“important”一词且位于 Java 存储库中的问题。 |
no:project | build no:project 匹配不与项目(经典)关联、包含“build”一词的问题。 |