我们经常发布文档更新,此页面的翻译可能仍在进行中。有关最新信息,请访问英文文档。如果此页面上的翻译有问题,请告诉我们

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

搜索议题和拉取请求

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

本文内容

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

提示:

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

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

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

  • You can focus your cursor on the search bar above the issue or pull request list with a keyboard shortcut. 更多信息请参阅“键盘快捷键”。

仅搜索议题或拉取请求

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

限定符 示例
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" 的议题。

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

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

限定符 示例
user:USERNAME user:defunkt ubuntu 匹配含有 "ubuntu" 字样、来自 @defunkt 拥有的仓库的议题。
org:ORGNAME org:github 匹配 GitHub 组织拥有的仓库中的议题。
repo:USERNAME/REPOSITORY repo:mozilla/shumway created:<2012-03-01 matches issues from @mozilla's shumway project that were created before March 2012.

按开放或关闭状态搜索

您可以使用 stateis 限定符基于议题和拉取请求处于打开还是关闭状态进行过滤。

限定符 示例
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" 字样的已关闭议题和拉取请求。

按公共或私有仓库搜索

如果您在所有 GitHub Enterprise 内搜索,基于仓库是公共还是私有来过滤结果可能非常有用。 您可以使用 is:publicis:private 实现此操作。

限定符 示例
is:public is:public 匹配所有公共仓库中的议题和拉取请求。
is:private is:private cupcake 匹配您具有访问权限的私有仓库中含有 "cupcake" 字样的议题和拉取请求。

按作者搜索

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

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

按受理人搜索

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

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

按提及搜索

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

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

按团队提及搜索

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

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

按评论者搜索

commenter 限定符查找含有来自特定用户评论的议题。

限定符 示例
commenter:USERNAME github commenter:defunkt org:github 匹配位于 GitHub 拥有的仓库中、含有 "github" 字样且由 @defunkt 评论的议题。

按议题或拉取请求中涉及的用户搜索

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

限定符 示例
involves:USERNAME involves:defunkt involves:jlord 匹配涉及 @defunkt 或 @jlord 的议题。
NOT bootstrap in:body involves:mdo 匹配涉及 @mdo 且正文中未包含 "bootstrap" 字样的议题。

按标签搜索

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

限定符 示例
label:LABEL label:"help wanted" language:ruby 匹配标签为 "help wanted"、位于 Ruby 仓库中的议题。
broken in:body -label:bug label:priority matches issues with the word "broken" in the body, that lack the label "bug", but do have the label "priority."
label:bug label:resolved 匹配含有 "bug" 和 "resolved" 标签的议题。

按里程碑搜索

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

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

按项目板搜索

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

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

按提交状态搜索

您可以基于提交的状态过滤拉取请求。 这在使用 Status 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 语法必须至少 7 个字符。

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

按分支名称搜索

您可以基于拉取请求来自的分支("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: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 个反应的议题。

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

You can filter pull requests based on their review status (none, required, approved, or changes requested), by reviewer, and by requested reviewer.

限定符 示例
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 匹配特定人员申请审查的拉取请求。 申请的审查者在其审查拉取请求后不再在搜索结果中列出。 如果申请的人员在申请审查的团队中,则该团队的审查请求也将在搜索结果中显示。
team-review-requested:TEAMNAME type:pr team-review-requested:atom/design 匹配已审查团队 atom/design 请求的拉取请求。 申请的审查者在其审查拉取请求后不再在搜索结果中列出。

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

您可以基于创建时间或上次更新时间过滤议题。 对于议题创建,您可以使用 created 限定符;要了解议题上次更新的时间,您要使用 updated 限定符。

两者均采用日期作为参数。 Date formatting must follow the ISO8601 standard, which is YYYY-MM-DD (year-month-day). You can also add optional time information THH:MM:SS+00:00 after the date, to search by the hour, minute, and second. That's T, followed by HH:MM:SS (hour-minutes-seconds), and a UTC offset (+00:00).

Dates support greater than, less than, and range qualifiers.

限定符 示例
created:YYYY-MM-DD language:c# created:<2011-01-01 state:open matches open issues that were created before 2011 in repositories written in C#.
updated:YYYY-MM-DD weird in:body updated:>=2013-02-01 matches issues with the word "weird" in the body that were updated after February 2013.

按议题或拉取请求关闭的时间搜索

您可以使用 closed 限定符基于议题和拉取请求关闭的时间进行过滤。

此限定符采用日期作为其参数。 Date formatting must follow the ISO8601 standard, which is YYYY-MM-DD (year-month-day). You can also add optional time information THH:MM:SS+00:00 after the date, to search by the hour, minute, and second. That's T, followed by HH:MM:SS (hour-minutes-seconds), and a UTC offset (+00:00).

Dates support greater than, less than, and range qualifiers.

限定符 示例
closed:YYYY-MM-DD language:swift closed:>2014-06-11 matches issues and pull requests in Swift that were closed after June 11, 2014.
data in:body closed:<2012-10-01 matches issues and pull requests with the word "data" in the body that were closed before October 2012.

按拉取请求合并的时间搜索

您可以使用 merged 限定符基于拉取请求合并的时间进行过滤。

此限定符采用日期作为其参数。 Date formatting must follow the ISO8601 standard, which is YYYY-MM-DD (year-month-day). You can also add optional time information THH:MM:SS+00:00 after the date, to search by the hour, minute, and second. That's T, followed by HH:MM:SS (hour-minutes-seconds), and a UTC offset (+00:00).

Dates support greater than, less than, and range qualifiers.

限定符 示例
merged:YYYY-MM-DD language:javascript merged:<2011-01-01 matches pull requests in JavaScript repositories that were merged before 2011.
fast in:title language:ruby merged:>=2014-05-01 matches pull requests in Ruby with the word "fast" in the title that were merged after May 2014.

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

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

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

延伸阅读

问问别人

找不到要找的内容?

联系我们