您可以在整个 GitHub 上全局搜索 Issue 和 Pull Request,或者在特定组织中搜索 Issue 和 Pull Request。有关更多信息,请参阅“关于在 GitHub 上搜索”。
提示
- 如果您的组织已选择加入高级 Issue 搜索的公开预览版,则可以在代码仓库的 Issue 页面上使用布尔运算符和嵌套查询。请参阅“筛选和搜索 Issue 和 Pull Request”。
仅搜索 Issue 或 Pull Request
默认情况下,GitHub 搜索将返回 Issue 和 Pull Request。但是,您可以使用 type
或 is
限定符将搜索结果限制为仅 Issue 或 Pull Request。
限定符 | 示例 |
---|---|
type:pr | cat type:pr 匹配包含“cat”一词的 Pull Request。 |
type:issue | github commenter:defunkt type:issue 匹配包含“github”一词且 @defunkt 评论过的 Issue。 |
is:pr | event is:pr 匹配包含“event”一词的 Pull Request。 |
is:issue | is:issue label:bug is:closed 匹配标签为“bug”且已关闭的 Issue。 |
按标题、正文或评论搜索
使用 in
限定符,您可以将搜索范围限制到标题、正文、评论或这些内容的任意组合。省略此限定符时,将搜索标题、正文和评论。
限定符 | 示例 |
---|---|
in:title | warning in:title 匹配标题中包含“warning”一词的 Issue。 |
in:body | error in:title,body 匹配标题或正文中包含“error”一词的 Issue。 |
in:comments | shipit in:comments 匹配评论中提及“shipit”的 Issue。 |
在用户的或组织的代码仓库中搜索
要搜索特定用户或组织拥有的所有代码仓库中的 Issue 和 Pull Request,可以使用 user
或 org
限定符。要搜索特定代码仓库中的 Issue 和 Pull Request,可以使用 repo
限定符。
如果您有权访问超过 10,000 个代码仓库中的 Pull Request,则需要将搜索范围限制到特定组织、个人帐户或代码仓库才能查看结果。
限定符 | 示例 |
---|---|
user:用户名 | user:defunkt ubuntu 匹配 @defunkt 拥有的代码仓库中包含“ubuntu”一词的 Issue。 |
org:组织名称 | org:github 匹配 GitHub 组织拥有的代码仓库中的 Issue。 |
repo:用户名/代码仓库名 | repo:mozilla/shumway created:<2012-03-01 匹配 @mozilla 的 shumway 项目中 2012 年 3 月之前创建的 Issue。 |
按打开或关闭状态搜索
您可以根据 Issue 和 Pull Request 是打开还是关闭来筛选它们,方法是使用 state
或 is
限定符。
限定符 | 示例 |
---|---|
state:open | libraries state:open mentions:vmg 匹配包含“libraries”一词且提及 @vmg 的打开的 Issue。 |
state:closed | design state:closed in:body 匹配正文中包含“design”一词的已关闭的 Issue。 |
is:open | performance is:open is:issue 匹配包含“performance”一词的打开的 Issue。 |
is:closed | android is:closed 匹配包含“android”一词的已关闭的 Issue 和 Pull Request。 |
搜索合并队列中的 Pull Request
您还可以使用 is
限定符查找已排队等待合并的 Pull Request。
限定符 | 示例 |
---|---|
is:queued | is:queued 匹配当前已排队等待合并的 Pull Request。 |
按 Issue 关闭的原因搜索
您可以根据关闭 Issue 时提供的理由筛选 Issue,方法是使用 reason
限定符。
限定符 | 示例 |
---|---|
reason:completed | libraries is:closed reason:completed 匹配包含“libraries”一词且已关闭为“已完成”的 Issue。 |
reason:"not planned"
| libraries is:closed reason:"not planned" 匹配包含“libraries”一词且由于“未计划”而关闭的问题。 |
按仓库可见性筛选
您可以使用is
限定符按包含问题和拉取请求的仓库的可见性进行筛选。有关更多信息,请参阅“关于仓库”。
限定符 | 示例 |
---|---|
is:public | is:public 匹配公共仓库中的问题和拉取请求。 |
is:private | is:private cupcake 匹配您有权访问的私有仓库中包含“cupcake”一词的问题和拉取请求。 |
按作者搜索
author
限定符查找由特定用户或集成帐户创建的问题和拉取请求。
限定符 | 示例 |
---|---|
author:USERNAME | cool author:gjtorikian 匹配包含“cool”一词且由@gjtorikian创建的问题和拉取请求。 |
in:body author:USERNAME | bootstrap in:body author:mdo 匹配正文中包含“bootstrap”一词且由@mdo撰写的问题。 |
author:app/USERNAME | author:app/robot 匹配由名为“robot”的集成帐户创建的问题。 |
- author:app/USERNAME | -author:app/robot 匹配除名为“robot”的集成帐户以外的任何用户创建的问题。搜索查询中限定符之前的减号或连字符 (- ) 表示限定符的逻辑非。 |
按指派者搜索
assignee
限定符查找指派给特定用户的问和拉取请求。您可以使用通配符字符*
搜索具有任何指派者的问和拉取请求,但只能在一个仓库中使用。您还可以搜索没有指派者的问和拉取请求。
限定符 | 示例 |
---|---|
assignee:USERNAME | assignee:vmg repo:libgit2/libgit2 匹配libgit2项目libgit2中指派给@vmg的问题和拉取请求。 |
assignee:* | is:open is:issue assignee:* 匹配单个仓库中指派给任何用户的开放问题。 |
按提及搜索
mentions
限定符查找提及特定用户的问。有关更多信息,请参阅“基本写作和格式语法”。
限定符 | 示例 |
---|---|
mentions:USERNAME | resque mentions:defunkt 匹配包含“resque”一词且提及@defunkt的问题。 |
按团队提及搜索
对于您所属的组织和团队,您可以使用team
限定符查找在该组织内@提及特定团队的问或拉取请求。将这些示例名称替换为您自己的组织和团队名称以执行搜索。
限定符 | 示例 |
---|---|
team:ORGNAME/TEAMNAME | team:jekyll/owners 匹配提及@jekyll/owners 团队的问题。 |
team:ORGNAME/TEAMNAME is:open is:pr | team:myorg/ops is:open is:pr 匹配提及@myorg/ops 团队的开放拉取请求。 |
按评论者搜索
commenter
限定符查找包含特定用户评论的问。
限定符 | 示例 |
---|---|
commenter:USERNAME | github commenter:defunkt org:github 匹配GitHub拥有的仓库中的问题,这些问题包含“github”一词,并且由@defunkt评论过。 |
搜索参与问题或拉取请求的用户
您可以使用involves
限定符查找以某种方式涉及特定用户的问。involves
限定符是单个用户的author
、assignee
、mentions
和commenter
限定符之间的逻辑或。换句话说,此限定符查找由特定用户创建、指派给该用户、提及该用户或由该用户评论的问和拉取请求。
限定符 | 示例 |
---|---|
involves:USERNAME | involves:defunkt involves:jlord 匹配@defunkt或@jlord参与的问题。 |
in:body involves:USERNAME | NOT bootstrap in:body involves:mdo 匹配@mdo参与且正文中不包含“bootstrap”一词的问题。 |
搜索我的问题和拉取请求
您可以通过在所需的限定符后面加上@me
来搜索您创建或交互过的问题和拉取请求。任何与用户名一起使用的限定符都允许您将搜索范围限制为您创建、指派、提及或请求作为审阅者的问和拉取请求。
限定符 | 示例 |
---|---|
author:@me | author:@me 匹配您创作的问题和拉取请求。 |
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 的已关闭问题。 |
comments:n..n | comments:500..1000 匹配评论数在 500 到 1000 之间的问题。 |
按交互次数搜索
您可以使用 interactions
限定符以及大于、小于和范围限定符来筛选问题和拉取请求的交互次数。交互次数是指问题或拉取请求上的反应和评论总数。
限定符 | 示例 |
---|---|
interactions:n | interactions:>2000 匹配交互次数超过 2000 的拉取请求或问题。 |
interactions:n..n | interactions:500..1000 匹配交互次数在 500 到 1000 之间的拉取请求或问题。 |
按反应数搜索
您可以使用 reactions
限定符以及大于、小于和范围限定符来筛选问题和拉取请求的反应数。
限定符 | 示例 |
---|---|
reactions:n | reactions:>1000 匹配反应数超过 1000 的问题。 |
reactions:n..n | reactions:500..1000 匹配反应数在 500 到 1000 之间的问题。 |
搜索草稿拉取请求
您可以筛选草稿拉取请求。有关更多信息,请参阅“关于拉取请求”。
限定符 | 示例 |
---|---|
draft:true | draft:true 匹配草稿拉取请求。 |
draft:false | draft:false 匹配已准备好审查的拉取请求。 |
按拉取请求审查状态和审查者搜索
您可以根据拉取请求的审查状态(无、需要、已批准或请求更改)、审查者和请求的审查者来筛选拉取请求。
限定符 | 示例 |
---|---|
review:none | type:pr review:none 匹配尚未审查的拉取请求。 |
review:required | type:pr review:required 匹配在合并之前需要审查的拉取请求。 |
review:approved | type:pr review:approved 匹配审查者已批准的拉取请求。 |
review:changes_requested | type:pr review:changes_requested 匹配审查者已要求更改的拉取请求。 |
reviewed-by:USERNAME | type:pr reviewed-by:gjtorikian 匹配特定人员审查的拉取请求。 |
review-requested:USERNAME | type:pr review-requested:benbalter 匹配请求特定人员审查的拉取请求。在他们审查拉取请求后,请求的审查者将不再显示在搜索结果中。如果请求的人员属于请求审查的团队,则该团队的审查请求也会出现在搜索结果中。 |
user-review-requested:@me | type:pr user-review-requested:@me 匹配您已直接被要求审查的拉取请求。 |
team-review-requested:TEAMNAME | type:pr team-review-requested:github/docs 匹配来自 github/docs 团队的审查请求的拉取请求。在他们审查拉取请求后,请求的审查者将不再显示在搜索结果中。 |
按问题或拉取请求的创建或最后更新时间搜索
您可以根据问题的创建时间或最后更新时间筛选问题。对于问题创建,您可以使用 created
限定符;要查找问题最后更新的时间,您需要使用 updated
限定符。
两者都以日期作为参数。日期格式必须遵循ISO8601标准,即 YYYY-MM-DD
(年-月-日)。您还可以选择在日期后添加时间信息 THH:MM:SS+00:00
,以按小时、分钟和秒进行搜索。即 T
,后跟 HH:MM:SS
(时-分-秒),以及 UTC 偏移量 (+00:00
)。
搜索日期时,您可以使用大于、小于和范围限定符进一步筛选结果。有关更多信息,请参阅“了解搜索语法”。
限定符 | 示例 |
---|---|
created:YYYY-MM-DD | language:c# created:<2011-01-01 state:open 匹配在 2011 年之前创建且处于打开状态的 C# 仓库中的问题。 |
updated:YYYY-MM-DD | weird in:body updated:>=2013-02-01 匹配正文中包含“weird”且在 2013 年 2 月之后更新的问题。 |
按问题或拉取请求的关闭时间搜索
您可以使用 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 匹配正文中包含“data”且在 2012 年 10 月之前关闭的问题和拉取请求。 |
按拉取请求的合并时间搜索
您可以使用 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 匹配标题中包含“fast”且在 2014 年 5 月之后合并的 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
限定符将搜索范围缩小到缺少某些元数据的 Issue 和 Pull Request。这些限定符不能与减号 (-) 符号组合以排除缺少元数据的项目。这些元数据包括
- 标签
- 里程碑
- 指派者
- 项目
限定符 | 示例 |
---|---|
no:label | priority no:label 匹配包含“priority”一词且没有任何标签的 Issue 和 Pull Request。 |
no:milestone | sprint no:milestone type:issue 匹配不与包含“sprint”一词的里程碑关联的 Issue。 |
no:assignee | important no:assignee language:java type:issue 匹配不与指派者关联、包含“important”一词且位于 Java 代码库中的 Issue。 |
no:project | build no:project 匹配不与项目(经典项目)关联且包含“build”一词的 Issue。 |
进一步阅读
- "对搜索结果排序"