此版本的 GitHub Enterprise 已停止服务 2021-09-23. 即使针对重大安全问题,也不会发布补丁。 要获得更好的性能、改进的安全性和新功能,请升级到 GitHub Enterprise 的最新版本。 如需升级方面的帮助,请联系 GitHub Enterprise 支持

搜索议题和拉取请求

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

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

提示:

  • 本文章包含在 GitHub.com 网站上的示例搜索,但您可以在 您的 GitHub Enterprise Server 实例 上使用相同的搜索过滤器。

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

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

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

仅搜索议题或拉取请求

默认情况下,GitHub Enterprise Server 搜索将返回议题和拉取请求。 但您可以使用 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 限定符。

If you have access to pull requests in more than 10,000 repositories, you will need to limit your search to a specific organization, user account, or repository to see results.

限定符示例
user:USERNAMEuser:defunkt ubuntu 匹配含有 "ubuntu" 字样、来自 @defunkt 拥有的仓库的议题。
org:ORGNAMEorg:github 匹配 GitHub 组织拥有的仓库中的议题。
repo:USERNAME/REPOSITORYrepo:mozilla/shumway created:<2012-03-01 匹配来自 @mozilla 的 shumway 项目、在 2012 年 3 月之前创建的议题。

按开放或关闭状态搜索

您可以使用 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:public | is:public 匹配公共仓库中的议题和拉取请求。 | is:internal | is:internal 匹配内部仓库中的议题和拉取请求。 | is:private | is:private cupcake 匹配您可以访问的仓库中包含单词 "cupcake" 的议题和拉取请求。

按作者搜索

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

限定符示例
author:USERNAMEcool author:gjtorikian 匹配含有 "cool" 字样、由 @gjtorikian 创建的议题和拉取请求。
bootstrap in:body author:mdo 匹配由 @mdo 撰写、正文中含有 "bootstrap" 字样的议题。
author:app/USERNAMEauthor:app/robot 匹配由名为 "robot" 的集成帐户创建的议题。

按受理人搜索

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

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

按提及搜索

mentions 限定符查找提及特定用户的议题。 更多信息请参阅“提及人员和团队”。

限定符示例
mentions:USERNAMEresque mentions:defunkt 匹配含有 "resque" 字样、提及 @defunkt 的议题。

按团队提及搜索

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

限定符示例
team:ORGNAME/TEAMNAMEteam:jekyll/owners 匹配提及 @jekyll/owners 团队的议题。
team: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 的议题。
NOT 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 仓库中的议题。
broken in:body -label:bug label:priority 匹配正文中含有 "broken" 字样、没有 "bug" 标签但 "priority" 标签的议题。
label:bug label:resolved matches issues with the labels "bug" and "resolved."

按里程碑搜索

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

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

按项目板搜索

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

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

按提交状态搜索

您可以基于提交的状态过滤拉取请求。 这在使用 Status 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 的拉取请求。
0eff326d6213c 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:500..1000 匹配具有 500 到 1,000 条评论的议题。

按交互数量搜索

您可以使用 interactions 限定符以及大于、小于和范围限定符按交互数量过滤议题和拉取请求。 交互数量是对议题或拉取请求的反应和评论数量。

限定符示例
interactions:n interactions:>2000 匹配超过 2000 个交互的拉取请求或议题。
interactions:500..1000 匹配 500 至 1,000 个交互的拉取请求或议题。

按反应数量搜索

您可以使用 reactions 限定符以及 大于、小于和范围限定符按反应数量过滤议题和拉取请求。

限定符示例
reactions:n reactions:>1000 匹配超过 1000 个反应的议题。
reactions:500..1000 匹配 500 至 1000 个反应的议题。

搜索草稿拉取请求

您可以过滤草稿拉取请求。 更多信息请参阅“关于拉取请求”。

| 限定符 | 示例 | ------------- | ------------- | draft:true | draft:true 匹配拉取请求草稿。 | draft:false | draft: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 匹配特定人员申请审查的拉取请求。 申请的审查者在其审查拉取请求后不再在搜索结果中列出。 If the requested person is on a team that is requested for review, then review requests for that team will also appear in the search results.
team-review-requested:TEAMNAMEtype:pr team-review-requested:atom/design 匹配已审查团队 atom/design 请求的拉取请求。 申请的审查者在其审查拉取请求后不再在搜索结果中列出。

按议题或拉取请求创建或上次更新的时间搜索

您可以基于创建时间或上次更新时间过滤议题。 对于议题创建,您可以使用 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 中的议题和拉取请求。
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)。

搜索日期时,可以使用大于、小于和范围限定符来进一步筛选结果。 更多信息请参阅“了解搜索语法”。

限定符示例
merged:YYYY-MM-DDlanguage:javascript merged:<2011-01-01 匹配 2011 年以前合并的 JavaScript 仓库中的拉取请求。
fast in:title language:ruby merged:>=2014-05-01 匹配 2014 年 5 月之后合并、标题中含有 "fast" 字样、以 Ruby 编写的拉取请求。

基于拉取请求是否已合并搜索

您可以使用 is 限定符基于拉取请求已合并还是未合并进行过滤。

限定符示例
is:mergedbugfix is:pr is:merged 匹配含有 "bugfix" 字样的已合并拉取请求。
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" 字样的议题。

延伸阅读