您可以在所有 GitHub 内全局搜索议题和拉取请求,也可以在特定组织内搜索议题和拉取请求。 有关详细信息,请参阅“关于在 GitHub 上搜索”。
提示:
仅搜索议题或拉取请求
默认情况下,GitHub 搜索将返回议题和拉取请求。 但是,可以使用 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
限定符。
如果你有权访问超过 10,000 个存储库中的拉取请求,则需要将搜索限制在特定组织、个人帐户或存储库中才能查看结果。
限定符 | 示例 |
---|---|
user:USERNAME | user:defunkt ubuntu 匹配 @defunkt 拥有的存储库中包含“ubuntu”一词的问题。 |
org:ORGNAME | org:github 匹配 GitHub 组织拥有的存储库中的问题。 |
repo:USERNAME/REPOSITORY | repo:mozilla/shumway created:<2012-03-01 匹配 2012 年 3 月之前创建的 @mozilla 的 shumway 项目的问题。 |
按开放或关闭状态搜索
可以使用 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”一词的已关闭问题和拉取请求。 |
在合并队列中搜索拉取请求
你还可以使用 is
限定符查找排队等待合并的拉取请求。
限定符 | 示例 |
---|---|
is:queued | is:queued 匹配当前排队等待合并的拉取请求。 |
按问题关闭的原因进行搜索
可使用 reason
限定符根据问题关闭时给出的原因筛选问题。
限定符 | 示例 |
---|---|
reason:completed | libraries 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:USERNAME | cool author:gjtorikian 匹配 @gjtorikian 创建的包含“cool”一词的问题和拉取请求。 |
in:body author:USERNAME | bootstrap in:body author:mdo 匹配 @mdo 编写的且在正文中包含“bootstrap”一词的问题。 |
author:app/USERNAME | author:app/robot 匹配名为“robot”的集成帐户创建的问题。 |
- author:app/USERNAME | -author:app/robot 匹配不是由名为“robot”的集成帐户的帐户创建的问题。 限定符前面的减号或短划线字符 (- ) 表示搜索查询中限定符的逻辑 NOT。 |
按受理人搜索
assignee
限定符查找分配给特定用户的问题和拉取请求。 无法搜索具有任何代理人的问题和拉取请求,但可以搜索没有代理人的问题和拉取请求。
限定符 | 示例 |
---|---|
assignee:USERNAME | assignee:vmg repo:libgit2/libgit2 匹配分配给 @vmg 的 libgit2 项目 libgit2 中的问题和拉取请求。 |
按提及搜索
mentions
限定符查找提及特定用户的问题。 有关详细信息,请参阅“基本撰写和格式语法”。
限定符 | 示例 |
---|---|
mentions:USERNAME | resque mentions:defunkt 匹配提及 @defunkt 且包含“resque”一词的问题。 |
按团队提及搜索
对于你所属的组织和团队,可以使用 team
限定符查找 @mention 该组织内特定团队的问题或拉取请求。 将这些示例名称替换为您的组织和团队的名称以执行搜索。
限定符 | 示例 |
---|---|
team:ORGNAME/TEAMNAME | team:jekyll/owners 匹配提及 @jekyll/owners 团队的问题。 |
team:ORGNAME/TEAMNAME is:open is:pr | 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 的问题。 |
in:body involves:USERNAME | NOT bootstrap in:body involves:mdo 匹配涉及 @mdo 且正文中不包含“bootstrap”一词的问题。 |
搜索链接的议题和拉取请求
您可以将结果缩小到仅包括通过关闭引用链接到拉取请求的议题,或者链接到拉取请求可能关闭的议题的拉取请求。
限定符 | 示例 |
---|---|
linked:pr | repo:desktop/desktop is:open linked:pr 匹配 desktop/desktop 存储库中通过关闭引用链接到拉取请求的打开的问题。 |
linked:issue | repo:desktop/desktop is:closed linked:issue 匹配 desktop/desktop 存储库中链接到拉取请求可能已关闭的问题的已关闭拉取请求。 |
-linked:pr | repo:desktop/desktop is:open -linked:pr 匹配 desktop/desktop 存储库中未通过关闭引用链接到拉取请求的打开的问题。 |
-linked:issue | repo:desktop/desktop is:open -linked:issue 匹配 desktop/desktop 存储库中未链接到拉取请求可能关闭的问题的打开的拉取请求。 |
按标签搜索
可使用 label
限定符按标签缩小结果范围。 由于议题可有多个标签,因此您可为每个议题列出单独的限定符。
限定符 | 示例 |
---|---|
label:LABEL | label:"help wanted" language:ruby 匹配标签为“help wanted”且位于 Ruby 存储库中的问题。 |
in:body -label:LABEL label:LABEL | broken in:body -label:bug label:priority 匹配正文中包含“broken”一词且没有“bug”标签但有“priority”标签的问题。 |
label:LABEL label:LABEL | label:bug label:resolved 匹配标签为“bug”和“已解决”的问题。 |
label:LABEL,LABEL | label:bug,resolved 匹配标签为“bug”或“已解决”的问题。 |
按里程碑搜索
milestone
限定符查找作为存储库内里程碑组成部分的问题或拉取请求。
限定符 | 示例 |
---|---|
milestone:MILESTONE | milestone:"overhaul" 匹配位于名为“overhaul”的里程碑中的问题。 |
milestone:MILESTONE | milestone:"bug fix" 匹配位于名为“bug fix”的里程碑中的问题。 |
按项目板搜索
可使用 project
限定符查找与存储库或组织中特定项目板关联的问题。 必须按项目板编号搜索项目板。 您可在项目板 URL 的末尾找到项目板编号。
限定符 | 示例 |
---|---|
project:PROJECT_BOARD | project:github/57 匹配 GitHub 拥有的与组织的项目板 57 关联的问题。 |
project:REPOSITORY/PROJECT_BOARD | project:github-linguist/linguist/1 匹配与 @github 的 linguist 存储库中的项目板 1 关联的问题。 |
按提交状态搜索
您可以基于提交的状态过滤拉取请求。 这在使用状态 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 的拉取请求。 |
SHA is:merged | 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:n..n | comments:500..1000 匹配评论条数为 500-1000 的问题。 |
按交互数量搜索
可使用 interactions
限定符以及大于、小于和范围限定符按交互数量筛选问题和拉取请求。 交互数量是对议题或拉取请求的反应和评论数量。
限定符 | 示例 |
---|---|
interactions:n | interactions:>2000 匹配交互数超过 2000 的拉取请求或问题。 |
interactions:n..n | interactions:500..1000 匹配交互数为 500-1000 的拉取请求或问题。 |
按反应数量搜索
可使用 reactions
限定符以及大于、小于和范围限定符按反应数量筛选问题和拉取请求。
限定符 | 示例 |
---|---|
reactions:n | reactions:>1000 匹配反应数超过 1000 的问题。 |
reactions:n..n | reactions:500..1000 匹配反应数为 500-1000 的问题。 |
搜索草稿拉取请求
您可以过滤草稿拉取请求。 有关详细信息,请参阅“关于拉取请求”。
限定符 | 示例 |
---|---|
draft:true | draft:true 与草稿拉取请求匹配。 |
draft:false | draft:false 与准备审阅的拉取请求匹配。 |
按拉取请求审查状态和审查者搜索
可以根据拉取请求的审查状态(none、required、approved 或 changes requested)、审查者和请求的审查者对其进行筛选 。
限定符 | 示例 |
---|---|
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 匹配请求特定人员审查的拉取请求。 申请的审查者在其审查拉取请求后不再在搜索结果中列出。 如果请求的人员属于请求审查的团队,则该团队的审查请求也将在搜索结果中显示。 |
user-review-requested:@me | type:pr user-review-requested:@me 匹配你已直接要求审查的拉取请求。 |
team-review-requested:TEAMNAME | type: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-DD | language:c# created:<2011-01-01 state:open 匹配以 C# 编写的存储库中 2011 年以前创建的打开的问题。 |
updated:YYYY-MM-DD | 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:>YYYY-MM-DD | language:swift closed:>2014-06-11 匹配 2014 年 6 月 11 日后关闭的以 Swift 编写的问题和拉取请求。 |
in:body closed:<YYYY-MM-DD | 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
)。
搜索日期时,可以使用大于、小于和范围限定符来进一步筛选结果。 有关详细信息,请参阅“了解搜索语法”。
限定符 | 示例 |
---|---|
language:LANGUAGE merged:<YYYY-MM-DD | language:javascript merged:<2011-01-01 匹配 JavaScript 存储库中 2011 年以前合并的的拉取请求。 |
in:title language:LANGUAGE merged:>YYYY-MM-DD | fast in:title language:ruby merged:>=2014-05-01 匹配 2014 年 5 月之后合并、标题中含有“fast”一词、以 Ruby 编写的拉取请求。 |
基于拉取请求是否已合并搜索
可使用 is
限定符根据拉取请求已合并还是未合并对其进行筛选。
限定符 | 示例 |
---|---|
is:merged | bug is:pr is:merged 匹配包含“bug”一词的合并的拉取请求。 |
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”一词的问题。 |
延伸阅读
- "排序搜索结果"