Skip to main content

搜索议题和拉取请求

您可以在 GitHub 上搜索代码,并使用这些代码搜索限定符的任意组合缩小结果范围。

您可以在所有 GitHub 内全局搜索议题和拉取请求,也可以在特定组织内搜索议题和拉取请求。 有关详细信息,请参阅“关于在 GitHub 上搜索”。

提示:

  • 有关可以添加到任何搜索限定符以进一步改善结果的搜索语法列表,请参阅“了解搜索语法”。

  • 对多个字词的搜索词使用引号。 例如,如果要搜索具有标签“In progress”的问题,可搜索 label:"in progress"。 搜索不区分大小写。

  • 使用减号(连字符)符号来排除与限定符匹配的结果。 例如,若要忽略“octocat”用户创建的问题,可以在搜索中使用 -author:octocat

  • 您可以用键盘快捷键将光标焦点放在议题或拉取请求列表上方的搜索栏上。 有关详细信息,请参阅“键盘快捷方式”。

仅搜索议题或拉取请求

默认情况下,GitHub 搜索将返回议题和拉取请求。 但是,可以使用 typeis 限定符将搜索结果限制为仅问题或拉取请求。

限定符示例
type:prcat type:pr 匹配包含“cat”一词的拉取请求。
type:issuegithub commenter:defunkt type:issue 匹配包含“github”一词且包含 @defunkt 的评论的问题。
is:prevent is:pr 匹配包含“event”一词的拉取请求。
is:issueis:issue label:bug is:closed 匹配包含“bug”标签的已关闭问题。

按标题、正文或评论搜索

通过 in 限定符,可以将搜索限制为标题、正文、评论或这些项的任意组合。 如果省略此限定符,则标题、正文和评论全部搜索。

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

在用户或组织的仓库内搜索

要在特定用户或组织拥有的所有存储库中搜索问题和拉取请求,可使用 userorg 限定符。 要在特定存储库中搜索问题和拉取请求,可使用 repo 限定符。

如果你有权访问超过 10,000 个存储库中的拉取请求,则需要将搜索限制在特定组织、个人帐户或存储库中才能查看结果。

限定符示例
user:USERNAMEuser:defunkt ubuntu 匹配 @defunkt 拥有的存储库中包含“ubuntu”一词的问题。
org:ORGNAMEorg:github 匹配 GitHub 组织拥有的存储库中的问题。
repo:USERNAME/REPOSITORYrepo:mozilla/shumway created:<2012-03-01 匹配 2012 年 3 月之前创建的 @mozilla 的 shumway 项目的问题。

按开放或关闭状态搜索

可以使用 stateis 限定符基于问题和拉取请求处于打开还是关闭状态对其进行筛选。

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

在合并队列中搜索拉取请求

你还可以使用 is 限定符查找排队等待合并的拉取请求。

限定符示例
is:queuedis:queued 匹配当前排队等待合并的拉取请求。

按问题关闭的原因进行搜索

可使用 reason 限定符根据问题关闭时给出的原因筛选问题。

限定符示例
reason:completedlibraries is:closed reason:completed 与关闭状态显示为“已完成”且包含“libraries”一词的问题匹配。
reason:"not planned"libraries is:closed reason:"not planned" 与关闭状态显示“未计划”且包含“libraries”一词的问题匹配。

按仓库可见性过滤

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

| Qualifier | Example | ------------- | ------------- | | is:public | is:public 匹配公共存储库中的问题和拉取请求。 | is:private | is:private cupcake 匹配你具有访问权限的专用存储库中包含“cupcake”一词的问题和拉取请求 。

按作者搜索

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

限定符示例
author:USERNAMEcool author:gjtorikian 匹配 @gjtorikian 创建的包含“cool”一词的问题和拉取请求。
in:body author:USERNAMEbootstrap in:body author:mdo 匹配 @mdo 编写的且在正文中包含“bootstrap”一词的问题。
author:app/USERNAMEauthor:app/robot 匹配名为“robot”的集成帐户创建的问题。
-author:app/USERNAME-author:app/robot 匹配不是由名为“robot”的集成帐户的帐户创建的问题。 限定符前面的减号或短划线字符 (-) 表示搜索查询中限定符的逻辑 NOT。

按受理人搜索

assignee 限定符查找分配给特定用户的问题和拉取请求。 无法搜索具有任何代理人的问题和拉取请求,但可以搜索没有代理人的问题和拉取请求

限定符示例
assignee:USERNAMEassignee:vmg repo:libgit2/libgit2 匹配分配给 @vmg 的 libgit2 项目 libgit2 中的问题和拉取请求。

按提及搜索

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

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

按团队提及搜索

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

限定符示例
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 限定符之间的逻辑 OR。 换句话说,此限定符查找由特定用户创建、分配给该用户、提及该用户或由该用户评论的议题和拉取请求。

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

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

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

限定符示例
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 匹配标签为“help wanted”且位于 Ruby 存储库中的问题。
in:body -label:LABEL label:LABELbroken in:body -label:bug label:priority 匹配正文中包含“broken”一词且没有“bug”标签但有“priority”标签的问题。
label:LABEL label:LABELlabel:bug label:resolved 匹配标签为“bug”和“已解决”的问题。
label:LABEL,LABELlabel:bug,resolved 匹配标签为“bug”或“已解决”的问题。

按里程碑搜索

milestone 限定符查找作为存储库内里程碑组成部分的问题或拉取请求。

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

按项目板搜索

可使用 project 限定符查找与存储库或组织中特定项目板关联的问题。 必须按项目板编号搜索项目板。 您可在项目板 URL 的末尾找到项目板编号。

限定符示例
project:PROJECT_BOARDproject:github/57 匹配 GitHub 拥有的与组织的项目板 57 关联的问题。
project:REPOSITORY/PROJECT_BOARDproject: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:failurecreated:2015-05-01..2015-05-30 status:failure 匹配在 2015 年 5 月打开且具有失败状态的拉取请求。

按提交 SHA 搜索

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

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

按分支名称搜索

您可以基于拉取请求来自的分支("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 与准备审阅的拉取请求匹配。

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

可以根据拉取请求的审查状态(none、required、approved 或 changes requested)、审查者和请求的审查者对其进行筛选 。

限定符示例
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 匹配以 C# 编写的存储库中 2011 年以前创建的打开的问题。
updated:YYYY-MM-DDweird 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-DDlanguage:swift closed:>2014-06-11 匹配 2014 年 6 月 11 日后关闭的以 Swift 编写的问题和拉取请求。
in:body closed:<YYYY-MM-DDdata 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-DDlanguage:javascript merged:<2011-01-01 匹配 JavaScript 存储库中 2011 年以前合并的的拉取请求。
in:title language:LANGUAGE merged:>YYYY-MM-DDfast in:title language:ruby merged:>=2014-05-01 匹配 2014 年 5 月之后合并、标题中含有“fast”一词、以 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 限定符缩小搜索缺少特定元数据的问题和拉取请求的范围。 该元数据包括:

  • 标签
  • 里程碑
  • 受理人
  • 项目
限定符示例
no:labelpriority no:label 匹配没有任何标签且包含“priority”一词的问题和拉取请求。
no:milestonesprint no:milestone type:issue 匹配未与包含“sprint”一词的里程碑关联的问题。
no:assigneeimportant no:assignee language:java type:issue 匹配未与代理人关联、包含“important”一词且位于 Java 存储库中的问题。
no:projectbuild no:project 匹配未与项目板关联且包含“build”一词的问题。

延伸阅读