文章版本: Enterprise Server 2.17
搜索议题和拉取请求
您可以在 GitHub Enterprise 上搜索代码,并使用这些代码搜索限定符的任意组合缩小结果范围。
本文内容
- 仅搜索议题或拉取请求
- 按标题、正文或评论搜索
- 在用户或组织的仓库内搜索
- 按开放或关闭状态搜索
- 按公共或私有仓库搜索
- 按作者搜索
- 按受理人搜索
- 按提及搜索
- 按团队提及搜索
- 按评论者搜索
- 按议题或拉取请求中涉及的用户搜索
- 按标签搜索
- 按里程碑搜索
- 按项目板搜索
- 按提交状态搜索
- 按提交 SHA 搜索
- 按分支名称搜索
- 按语言搜索
- 按评论数量搜索
- 按交互数量搜索
- 按反应数量搜索
- 搜索草稿拉取请求
- 按拉取请求审查状态和审查者搜索
- 按议题或拉取请求创建或上次更新的时间搜索
- 按议题或拉取请求关闭的时间搜索
- 按拉取请求合并的时间搜索
- 基于拉取请求是否已合并搜索
- 基于仓库是否已存档搜索
- 基于对话是否已锁定搜索
- 按缺少的元数据搜索
- 延伸阅读
您可以在所有 GitHub Enterprise 内全局搜索议题和拉取请求,也可以在特定组织内搜索议题和拉取请求。 更多信息请参阅“关于在 GitHub 上搜索”。
提示:
仅搜索议题或拉取请求
默认情况下,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: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. |
按开放或关闭状态搜索
您可以使用 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: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
限定符是单一用户 author
、assignee
、mentions
和 commenter
限定符之间的逻辑 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 个反应的议题。 |
搜索草稿拉取请求
您可以过滤草稿拉取请求。 更多信息请参阅“关于拉取请求”。
| Qualifier | Example | ------------- | ------------- | is:draft
| is:draft matches draft pull requests.
按拉取请求审查状态和审查者搜索
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
限定符。
两者均采用日期作为参数。 日期格式必须遵循 ISO8601标准,即 YYYY-MM-DD
(年-月-日)。 您也可以在日期后添加可选的时间信息 THH:MM:SS+00:00
,以便按小时、分钟和秒进行搜索。 这是 T
,随后是 HH:MM:SS
(时-分-秒)和 UTC 偏移 (+00:00
)。
日期支持大于、小于和范围限定符。
限定符 | 示例 |
---|---|
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
限定符基于议题和拉取请求关闭的时间进行过滤。
此限定符采用日期作为其参数。 日期格式必须遵循 ISO8601标准,即 YYYY-MM-DD
(年-月-日)。 您也可以在日期后添加可选的时间信息 THH:MM:SS+00:00
,以便按小时、分钟和秒进行搜索。 这是 T
,随后是 HH:MM:SS
(时-分-秒)和 UTC 偏移 (+00:00
)。
日期支持大于、小于和范围限定符。
限定符 | 示例 |
---|---|
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
限定符基于拉取请求合并的时间进行过滤。
此限定符采用日期作为其参数。 日期格式必须遵循 ISO8601标准,即 YYYY-MM-DD
(年-月-日)。 您也可以在日期后添加可选的时间信息 THH:MM:SS+00:00
,以便按小时、分钟和秒进行搜索。 这是 T
,随后是 HH:MM:SS
(时-分-秒)和 UTC 偏移 (+00:00
)。
日期支持大于、小于和范围限定符。
限定符 | 示例 |
---|---|
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" 字样的议题。 |
延伸阅读
- “排序搜索结果”