跳至主要内容

搜索 Issue 和 Pull Request

您可以在 GitHub 上搜索 Issue 和 Pull Request,并使用以下搜索限定符以任意组合方式缩小搜索范围。

您可以在整个 GitHub 上全局搜索 Issue 和 Pull Request,或者在特定组织中搜索 Issue 和 Pull Request。有关更多信息,请参阅“关于在 GitHub 上搜索”。

提示

  • 如果您的组织已选择加入高级 Issue 搜索的公开预览版,则可以在代码仓库的 Issue 页面上使用布尔运算符和嵌套查询。请参阅“筛选和搜索 Issue 和 Pull Request”。
  • 有关可以添加到任何搜索限定符以进一步改进结果的搜索语法的列表,请参阅“了解搜索语法”。
  • 对多字搜索词使用引号。例如,如果您想搜索标签为“进行中”的 Issue,则搜索 label:"in progress"。搜索不区分大小写。
  • 使用减号 (-) 符号排除与限定符匹配的结果。例如,要忽略由“octocat”用户创建的 Issue,请在搜索中使用 -author:octocat。请注意,这对于缺少的元数据限定符不起作用。
  • 您可以使用键盘快捷键将光标聚焦在 Issue 或 Pull Request 列表上方的搜索栏上。有关更多信息,请参阅“键盘快捷键”。

仅搜索 Issue 或 Pull Request

默认情况下,GitHub 搜索将返回 Issue 和 Pull Request。但是,您可以使用 typeis 限定符将搜索结果限制为仅 Issue 或 Pull Request。

限定符示例
type:prcat type:pr 匹配包含“cat”一词的 Pull Request。
type:issuegithub commenter:defunkt type:issue 匹配包含“github”一词且 @defunkt 评论过的 Issue。
is:prevent is:pr 匹配包含“event”一词的 Pull Request。
is:issueis:issue label:bug is:closed 匹配标签为“bug”且已关闭的 Issue。

按标题、正文或评论搜索

使用 in 限定符,您可以将搜索范围限制到标题、正文、评论或这些内容的任意组合。省略此限定符时,将搜索标题、正文和评论。

限定符示例
in:titlewarning in:title 匹配标题中包含“warning”一词的 Issue。
in:bodyerror in:title,body 匹配标题或正文中包含“error”一词的 Issue。
in:commentsshipit in:comments 匹配评论中提及“shipit”的 Issue。

在用户的或组织的代码仓库中搜索

要搜索特定用户或组织拥有的所有代码仓库中的 Issue 和 Pull Request,可以使用 userorg 限定符。要搜索特定代码仓库中的 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 是打开还是关闭来筛选它们,方法是使用 stateis 限定符。

限定符示例
state:openlibraries state:open mentions:vmg 匹配包含“libraries”一词且提及 @vmg 的打开的 Issue。
state:closeddesign state:closed in:body 匹配正文中包含“design”一词的已关闭的 Issue。
is:openperformance is:open is:issue 匹配包含“performance”一词的打开的 Issue。
is:closedandroid is:closed 匹配包含“android”一词的已关闭的 Issue 和 Pull Request。

搜索合并队列中的 Pull Request

您还可以使用 is 限定符查找已排队等待合并的 Pull Request。

限定符示例
is:queuedis:queued 匹配当前已排队等待合并的 Pull Request。

按 Issue 关闭的原因搜索

您可以根据关闭 Issue 时提供的理由筛选 Issue,方法是使用 reason 限定符。

限定符示例
reason:completedlibraries is:closed reason:completed 匹配包含“libraries”一词且已关闭为“已完成”的 Issue。
reason:"not planned"

libraries is:closed reason:"not planned" 匹配包含“libraries”一词且由于“未计划”而关闭的问题。

按仓库可见性筛选

您可以使用is限定符按包含问题和拉取请求的仓库的可见性进行筛选。有关更多信息,请参阅“关于仓库”。

限定符示例
is:publicis:public 匹配公共仓库中的问题和拉取请求。
is:privateis:private cupcake 匹配您有权访问的私有仓库中包含“cupcake”一词的问题和拉取请求。

按作者搜索

author限定符查找由特定用户或集成帐户创建的问题和拉取请求。

限定符示例
author:USERNAMEcool author:gjtorikian 匹配包含“cool”一词且由@gjtorikian创建的问题和拉取请求。
in:body author:USERNAMEbootstrap in:body author:mdo 匹配正文中包含“bootstrap”一词且由@mdo撰写的问题。
author:app/USERNAMEauthor:app/robot 匹配由名为“robot”的集成帐户创建的问题。
-author:app/USERNAME-author:app/robot 匹配除名为“robot”的集成帐户以外的任何用户创建的问题。搜索查询中限定符之前的减号或连字符 (-) 表示限定符的逻辑非。

按指派者搜索

assignee限定符查找指派给特定用户的问和拉取请求。您可以使用通配符字符*搜索具有任何指派者的问和拉取请求,但只能在一个仓库中使用。您还可以搜索没有指派者的问和拉取请求

限定符示例
assignee:USERNAMEassignee:vmg repo:libgit2/libgit2 匹配libgit2项目libgit2中指派给@vmg的问题和拉取请求。
assignee:*is:open is:issue assignee:* 匹配单个仓库中指派给任何用户的开放问题。

按提及搜索

mentions限定符查找提及特定用户的问。有关更多信息,请参阅“基本写作和格式语法”。

限定符示例
mentions:USERNAMEresque mentions:defunkt 匹配包含“resque”一词且提及@defunkt的问题。

按团队提及搜索

对于您所属的组织和团队,您可以使用team限定符查找在该组织内@提及特定团队的问或拉取请求。将这些示例名称替换为您自己的组织和团队名称以执行搜索。

限定符示例
team:ORGNAME/TEAMNAMEteam:jekyll/owners 匹配提及@jekyll/owners团队的问题。
team:ORGNAME/TEAMNAME is:open is:prteam:myorg/ops is:open is:pr 匹配提及@myorg/ops团队的开放拉取请求。

按评论者搜索

commenter限定符查找包含特定用户评论的问。

限定符示例
commenter:USERNAMEgithub commenter:defunkt org:github 匹配GitHub拥有的仓库中的问题,这些问题包含“github”一词,并且由@defunkt评论过。

搜索参与问题或拉取请求的用户

您可以使用involves限定符查找以某种方式涉及特定用户的问。involves限定符是单个用户的authorassigneementionscommenter限定符之间的逻辑或。换句话说,此限定符查找由特定用户创建、指派给该用户、提及该用户或由该用户评论的问和拉取请求。

限定符示例
involves:USERNAMEinvolves:defunkt involves:jlord 匹配@defunkt或@jlord参与的问题。
in:body involves:USERNAMENOT bootstrap in:body involves:mdo 匹配@mdo参与且正文中不包含“bootstrap”一词的问题。

搜索我的问题和拉取请求

您可以通过在所需的限定符后面加上@me来搜索您创建或交互过的问题和拉取请求。任何与用户名一起使用的限定符都允许您将搜索范围限制为您创建、指派、提及或请求作为审阅者的问和拉取请求。

限定符示例
author:@meauthor:@me 匹配您创作的问题和拉取请求。
is:pr commenter:@meis:pr commenter:@me 匹配您评论过的拉取请求。

搜索链接的问题和拉取请求

您可以将结果缩小到仅包含通过关闭引用链接到拉取请求的问,或链接到拉取请求可能关闭的问的拉取请求。

限定符示例
linked:prrepo:desktop/desktop is:open linked:pr 匹配desktop/desktop仓库中通过关闭引用链接到拉取请求的开放问题。
linked:issuerepo:desktop/desktop is:closed linked:issue 匹配desktop/desktop仓库中已关闭的拉取请求,这些拉取请求链接到拉取请求可能已关闭的问。
-linked:prrepo:desktop/desktop is:open -linked:pr 匹配desktop/desktop仓库中未通过关闭引用链接到拉取请求的开放问题。
-linked:issuerepo:desktop/desktop is:open -linked:issue 匹配desktop/desktop仓库中未链接到拉取请求可能关闭的问的开放拉取请求。

按标签搜索

您可以使用label限定符按标签缩小结果范围。由于问题可以有多个标签,因此您可以为每个问题列出单独的限定符。

限定符示例
label:LABELlabel:"help wanted" language:ruby 匹配Ruby仓库中带有“help wanted”标签的问题。
in:body -label:LABEL label:LABELbroken in:body -label:bug label:priority 匹配正文中包含“broken”一词、缺少“bug”标签但确实具有“priority”标签的问题。
label:LABEL label:LABELlabel:bug label:resolved 匹配带有“bug”和“resolved”标签的问题。
label:LABEL,LABELlabel:bug,resolved 匹配带有“bug”或“resolved”标签的问题。

按里程碑搜索

milestone限定符查找属于仓库中里程碑的问题或拉取请求。

限定符示例
milestone:MILESTONEmilestone:"overhaul" 匹配位于名为“overhaul”的里程碑中的问题。
milestone:MILESTONEmilestone:"bug fix" 匹配位于名为“bug fix”的里程碑中的问题。

按项目搜索

您可以使用project限定符查找与特定项目关联的问题。您必须按项目编号搜索项目。您可以在项目URL的末尾找到项目编号。

限定符示例
project:PROJECT_NUMBERproject:github/57 匹配GitHub拥有的与组织的项目57关联的问题。
project:REPOSITORY/PROJECT_NUMBERproject:github-linguist/linguist/1 匹配与@github的linguist仓库中的项目1关联的问题。

按提交状态搜索

您可以根据提交的状态筛选拉取请求。如果您正在使用状态API或CI服务,这将特别有用。

限定符示例
status:pendinglanguage:go status:pending 匹配已打开到Go仓库中的拉取请求,其中状态为挂起。
status:successis:open status:success finally in:body 匹配正文中包含“finally”一词且状态为成功的开放拉取请求。
status:failure

created:2015-05-01..2015-05-30 status:failure 匹配 2015 年 5 月创建且状态为失败的拉取请求。

按提交 SHA 搜索

如果您知道提交的特定 SHA 哈希值,则可以使用它来搜索包含该 SHA 的拉取请求。SHA 语法必须至少包含七个字符。

限定符示例
SHAe1109ab 匹配提交 SHA 以 e1109ab 开头的拉取请求。
SHA is:merged0eff326d6213c is:merged 匹配提交 SHA 以 0eff326d6213c 开头的已合并拉取请求。

按分支名称搜索

您可以根据拉取请求的来源分支(“head” 分支)或合并到的分支(“base” 分支)来筛选拉取请求。

限定符示例
head:HEAD_BRANCHhead:change is:closed is:unmerged 匹配从以“change”开头名称的分支创建、已关闭且未合并的拉取请求。
base:BASE_BRANCHbase:gh-pages 匹配合并到 gh-pages 分支的拉取请求。

按语言搜索

使用 language 限定符,您可以搜索用特定语言编写的仓库中的问题和拉取请求。

限定符示例
language:LANGUAGElanguage:ruby state:open 匹配 Ruby 仓库中处于打开状态的问题。

按评论数搜索

您可以将 comments 限定符与大于、小于和范围限定符一起使用,以按评论数进行搜索。

限定符示例
comments:nstate:closed comments:>100 匹配评论数超过 100 的已关闭问题。
comments:n..ncomments:500..1000 匹配评论数在 500 到 1000 之间的问题。

按交互次数搜索

您可以使用 interactions 限定符以及大于、小于和范围限定符来筛选问题和拉取请求的交互次数。交互次数是指问题或拉取请求上的反应和评论总数。

限定符示例
interactions:ninteractions:>2000 匹配交互次数超过 2000 的拉取请求或问题。
interactions:n..ninteractions:500..1000 匹配交互次数在 500 到 1000 之间的拉取请求或问题。

按反应数搜索

您可以使用 reactions 限定符以及大于、小于和范围限定符来筛选问题和拉取请求的反应数。

限定符示例
reactions:nreactions:>1000 匹配反应数超过 1000 的问题。
reactions:n..nreactions:500..1000 匹配反应数在 500 到 1000 之间的问题。

搜索草稿拉取请求

您可以筛选草稿拉取请求。有关更多信息,请参阅“关于拉取请求”。

限定符示例
draft:truedraft:true 匹配草稿拉取请求。
draft:falsedraft:false 匹配已准备好审查的拉取请求。

按拉取请求审查状态和审查者搜索

您可以根据拉取请求的审查状态需要已批准请求更改)、审查者和请求的审查者来筛选拉取请求。

限定符示例
review:nonetype:pr review:none 匹配尚未审查的拉取请求。
review:requiredtype:pr review:required 匹配在合并之前需要审查的拉取请求。
review:approvedtype:pr review:approved 匹配审查者已批准的拉取请求。
review:changes_requestedtype:pr review:changes_requested 匹配审查者已要求更改的拉取请求。
reviewed-by:USERNAMEtype:pr reviewed-by:gjtorikian 匹配特定人员审查的拉取请求。
review-requested:USERNAMEtype:pr review-requested:benbalter 匹配请求特定人员审查的拉取请求。在他们审查拉取请求后,请求的审查者将不再显示在搜索结果中。如果请求的人员属于请求审查的团队,则该团队的审查请求也会出现在搜索结果中。
user-review-requested:@metype:pr user-review-requested:@me 匹配您已直接被要求审查的拉取请求。
team-review-requested:TEAMNAMEtype: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-DDlanguage:c# created:<2011-01-01 state:open 匹配在 2011 年之前创建且处于打开状态的 C# 仓库中的问题。
updated:YYYY-MM-DDweird 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-DDlanguage:swift closed:>2014-06-11 匹配 2014 年 6 月 11 日之后关闭的 Swift 仓库中的问题和拉取请求。
in:body closed:<YYYY-MM-DDdata 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-DDlanguage:javascript merged:<2011-01-01 匹配在 2011 年之前合并的 JavaScript 仓库中的拉取请求。
in:title language:LANGUAGE merged:>YYYY-MM-DDfast in:title language:ruby merged:>=2014-05-01 匹配标题中包含“fast”且在 2014 年 5 月之后合并的 Ruby 仓库中的拉取请求。

根据拉取请求是否已合并进行搜索

您可以使用 is 限定符根据拉取请求是否已合并进行筛选。

限定符示例
is:mergedbug is:pr is:merged 匹配包含“bug”的已合并拉取请求。
is:unmergederror is:unmerged 匹配包含“error”且未合并的拉取请求(无论是打开的还是已关闭的)。

根据仓库是否已归档进行搜索

archived 限定符根据问题或拉取请求是否位于已归档的仓库中筛选您的结果。

限定符示例
archived:truearchived:true GNOME 匹配您有权访问的已归档仓库中包含“GNOME”的问题和拉取请求。
archived:falsearchived:false GNOME 匹配您有权访问的未归档仓库中包含“GNOME”的问题和拉取请求。

根据对话是否已锁定进行搜索

您可以使用 is 限定符搜索对话已锁定的问题或拉取请求。有关更多信息,请参阅“锁定对话”。

限定符示例
is:lockedcode of conduct is:locked is:issue archived:false 匹配包含“code of conduct”且对话已锁定、且仓库未归档的问题或拉取请求。
is:unlockedcode of conduct is:unlocked is:issue archived:false 匹配包含“code of conduct”且对话未锁定、且仓库未归档的问题或拉取请求。

通过缺少的元数据搜索

您可以使用no限定符将搜索范围缩小到缺少某些元数据的 Issue 和 Pull Request。这些限定符不能与减号 (-) 符号组合以排除缺少元数据的项目。这些元数据包括

  • 标签
  • 里程碑
  • 指派者
  • 项目
限定符示例
no:labelpriority no:label 匹配包含“priority”一词且没有任何标签的 Issue 和 Pull Request。
no:milestonesprint no:milestone type:issue 匹配不与包含“sprint”一词的里程碑关联的 Issue。
no:assigneeimportant no:assignee language:java type:issue 匹配不与指派者关联、包含“important”一词且位于 Java 代码库中的 Issue。
no:projectbuild no:project 匹配不与项目(经典项目)关联且包含“build”一词的 Issue。

进一步阅读