搜索议题和拉取请求
您可以在 GitHub Enterprise 上搜索代码,并使用这些代码搜索限定符的任意组合缩小结果范围。
您可以在所有 GitHub Enterprise 内全局搜索议题和拉取请求,也可以在特定组织内搜索议题和拉取请求。 更多信息请参阅“关于在 GitHub 上搜索”。
提示:
本文内容:
- 仅搜索议题或拉取请求
- 按标题、正文或评论搜索
- 在用户或组织的仓库内搜索
- 按开放或关闭状态搜索
- 按公共或私有仓库搜索
- 按作者搜索
- 按受理人搜索
- 按提及搜索
- 按团队提及搜索
- 按评论者搜索
- 按议题或拉取请求中涉及的用户搜索
- 按标签搜索
- 按里程碑搜索
- 按项目板搜索
- 按提交状态搜索
- 按提交 SHA 搜索
- 按分支名称搜索
- 按语言搜索
- 按评论数量搜索
- 按交互数量搜索
- 按反应数量搜索
- 按拉取请求审查状态和审查者搜索
- 按议题或拉取请求创建或上次更新的时间搜索
- 按议题或拉取请求关闭的时间搜索
- 按拉取请求合并的时间搜索
- 基于拉取请求是否已合并搜索
- 基于仓库是否已存档搜索
- 基于对话是否已锁定搜索
- 按缺少的元数据搜索
仅搜索议题或拉取请求
默认情况下,GitHub Enterprise 搜索将返回议题和拉取请求。 但您可以使用 type
或 is
限定符将搜索结果限制为仅议题或拉取请求。
限定符 | 示例 |
---|---|
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" 的议题。 |
在用户或组织的仓库内搜索
要在特定用户或组织拥有的所有仓库中搜索议题和拉取请求,您可以使用 user
或 org
限定符。 要在特定仓库中搜索议题和拉取请求,您可以使用 repo
限定符。
限定符 | 示例 |
---|---|
user:<em>USERNAME</em> |
user:defunkt ubuntu 匹配含有 "ubuntu" 字样、来自 @defunkt 拥有的仓库的议题。 |
org:<em>ORGNAME</em> |
org:github 匹配 GitHub 组织拥有的仓库中的议题。 |
repo:<em>USERNAME/REPOSITORY</em> |
repo:mozilla/shumway created:<2012-03-01 匹配来自 @mozilla 的 shumway 项目、在 2012 年 3 月之前创建的议题。 |
按开放或关闭状态搜索
您可以使用 state
或 is
限定符基于议题和拉取请求处于打开还是关闭状态进行过滤。
限定符 | 示例 |
---|---|
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:public
和 is:private
实现此操作。
限定符 | 示例 |
---|---|
is:public |
is:public 匹配所有公共仓库中的议题和拉取请求。 |
is:private |
is:private cupcake 匹配您具有访问权限的私有仓库中含有 "cupcake" 字样的议题和拉取请求。 |
按作者搜索
author
限定符查找由特定用户或集成帐户创建的议题和拉取请求。
限定符 | 示例 |
---|---|
author:<em>USERNAME</em> |
cool author:gjtorikian 匹配含有 "cool" 字样、由 @gjtorikian 创建的议题和拉取请求。 |
bootstrap in:body author:mdo 匹配由 @mdo 撰写、正文中含有 "bootstrap" 字样的议题。 | |
author:app/<em>USERNAME</em> |
author:app/robot 匹配由名为 "robot" 的集成帐户创建的议题。 |
按受理人搜索
assignee
限定符查找分配给特定用户的议题和拉取请求。 您无法搜索具有 any 受理人的议题和拉取请求,但可以搜索没有受理人的议题和拉取请求。
限定符 | 示例 |
---|---|
assignee:<em>USERNAME</em> |
assignee:vmg repo:libgit2/libgit2 匹配分配给 @vmg 的 libgit2 项目 libgit2 中的议题和拉取请求。 |
按提及搜索
mentions
限定符查找提及特定用户的议题。 更多信息请参阅“提及人员和团队”。
限定符 | 示例 |
---|---|
mentions:<em>USERNAME</em> |
resque mentions:defunkt 匹配含有 "resque" 字样、提及 @defunkt 的议题。 |
按团队提及搜索
对于您所属的组织和团队,您可以使用 team
限定符查找提及该组织内特定团队的议题或拉取请求。 将这些示例名称替换为您的组织和团队的名称以执行搜索。
限定符 | 示例 |
---|---|
team:<em>ORGNAME/TEAMNAME</em> |
team:jekyll/owners
匹配提及 @jekyll/owners 团队的议题。 |
team:myorg/ops is:open is:pr
匹配提及 @myorg/ops 团队的打开拉取请求。 |
按评论者搜索
commenter
限定符查找含有来自特定用户评论的议题。
限定符 | 示例 |
---|---|
commenter:<em>USERNAME</em> |
github commenter:defunkt org:github 匹配位于 GitHub 拥有的仓库中、含有 "github" 字样且由 @defunkt 评论的议题。 |
按议题或拉取请求中涉及的用户搜索
您可以使用 involves
限定符查找以某种方式涉及特定用户的议题。 involves
限定符是单一用户 author
、assignee
、mentions
和 commenter
限定符之间的逻辑 OR(或)。 换句话说,此限定符查找由特定用户创建、分配给该用户、提及该用户或由该用户评论的议题和拉取请求。
限定符 | 示例 |
---|---|
involves:<em>USERNAME</em> |
involves:defunkt involves:jlord 匹配涉及 @defunkt 或 @jlord 的议题。 |
NOT bootstrap in:body involves:mdo 匹配涉及 @mdo 且正文中未包含 "bootstrap" 字样的议题。 |
按标签搜索
您可以使用 label
限定符按标签缩小结果范围。 由于议题可有多个标签,因此您可为每个议题列出单独的限定符。
限定符 | 示例 |
---|---|
label:<em>LABEL</em> |
label:"help wanted" language:ruby 匹配标签为 "help wanted"、位于 Ruby 仓库中的议题。 |
broken in:body -label:bug label:priority 匹配正文中含有 "broken" 字样、没有 "bug" 标签但 有 "priority" 标签的议题。 | |
label:bug label:resolved 匹配含有 "bug" 和 "resolved" 标签的议题。 |
按里程碑搜索
milestone
限定符查找作为仓库内里程碑组成部分的议题或拉取请求。
限定符 | 示例 |
---|---|
milestone:<em>MILESTONE</em> |
milestone:"overhaul" 匹配位于名为 "overhaul" 的里程碑中的议题。 |
milestone:"bug fix" 匹配位于名为 "bug fix" 的里程碑中的议题。 |
按项目板搜索
您可以使用 project
限定符查找与仓库或组织中特定项目板关联的议题。 必须按项目板编号搜索项目板。 您可在项目板 URL 的末尾找到项目板编号。
限定符 | 示例 |
---|---|
project:<em>PROJECT_BOARD</em> |
project:github/57 匹配 GitHub 拥有的、与组织项目板 57 关联的议题。 |
project:<em>REPOSITORY/PROJECT_BOARD</em> |
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 个字符。
限定符 | 示例 |
---|---|
<em>SHA</em> |
e1109ab 匹配具有开头为 e1109ab 的提交 SHA 的拉取请求。 |
0eff326d6213c is:merged 匹配具有开头为 0eff326d6213c 的提交 SHA 的合并拉取请求。 |
按分支名称搜索
您可以基于拉取请求来自的分支("head" 分支)或其合并到的分支("base" 分支)来过滤拉取请求。
限定符 | 示例 |
---|---|
head:<em>HEAD_BRANCH</em> |
head:change is:closed is:unmerged 匹配从名称以 "change" 字样开头的已关闭分支打开的拉取请求。 |
base:<em>BASE_BRANCH</em> |
base:gh-pages 匹配合并到 gh-pages 分支中的拉取请求。 |
按语言搜索
通过 language
限定符,您可以搜索以特定语言编写的仓库内的议题和拉取请求。
限定符 | 示例 |
---|---|
language:<em>LANGUAGE</em> |
language:ruby state:open 匹配 Ruby 仓库中的开放议题。 |
按评论数量搜索
您可以使用 comments
限定符以及大于、小于和范围限定符以按评论数量搜索。
限定符 | 示例 |
---|---|
comments:<em>n</em> |
state:closed comments:>100 匹配具有超过 100 条评论的已关闭议题。 |
comments:500..1000 匹配具有 500 到 1,000 条评论的议题。 |
按交互数量搜索
您可以使用 interactions
限定符以及大于、小于和范围限定符按交互数量过滤议题和拉取请求。 交互数量是对议题或拉取请求的反应和评论数量。
限定符 | 示例 |
---|---|
interactions:<em>n</em> |
interactions:>2000 匹配超过 2000 个交互的拉取请求或议题。 |
interactions:500..1000 匹配 500 至 1,000 个交互的拉取请求或议题。 |
按反应数量搜索
您可以使用 reactions
限定符以及 大于、小于和范围限定符按反应数量过滤议题和拉取请求。
限定符 | 示例 |
---|---|
reactions:<em>n</em> |
reactions:>1000 匹配超过 1000 个反应的议题。 |
reactions:500..1000 匹配 500 至 1000 个反应的议题。 |
按拉取请求审查状态和审查者搜索
您可以基于拉取请求的审查状态(none、required、approved、changes requested 或 required)、按审查者和按申请的审查者进行过滤。
限定符 | 示例 |
---|---|
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:<em>USERNAME</em> |
type:pr reviewed-by:gjtorikian 匹配特定人员审查的拉取请求。 |
review-requested:<em>USERNAME</em> |
type:pr review-requested:benbalter 匹配特定人员申请审查的拉取请求。 申请的审查者在其审查拉取请求后不再在搜索结果中列出。 如果申请的人员在申请审查的团队中,则该团队的审查请求也将在搜索结果中显示。 |
team-review-requested:<em>TEAMNAME</em> |
type: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:<em>YYYY-MM-DD</em> |
language:c# created:<2011-01-01 state:open 匹配以 C# 编写的仓库中 2011 年以前创建的开放议题。 |
updated:<em>YYYY-MM-DD</em> |
weird 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:<em>YYYY-MM-DD</em> |
language: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:<em>YYYY-MM-DD</em> |
language:javascript merged:<2011-01-01 匹配 2011 年以前合并的 JavaScript 仓库中的拉取请求。 |
fast in:title language:ruby merged:>=2014-05-01 匹配 2014 年 5 月之后合并、标题中含有 "fast" 字样、以 Ruby 编写的拉取请求。 |
基于拉取请求是否已合并搜索
您可以使用 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" 字样的议题。 |
延伸阅读
- “排序搜索结果”