提示
您还可以使用 GitHub CLI 筛选 Issue 或 Pull Request。有关更多信息,请参阅 GitHub CLI 文档中的“gh issue list
”或“gh pr list
”。
筛选 Issue 和 Pull Request
Issue 和 Pull Request 带有一组您可以应用于组织列表的默认筛选器。
您可以找到您或您所属团队被请求审查的 Pull Request,方法是使用搜索限定符 review-requested:[USERNAME]
或 team-review-requested:[TEAMNAME]
。有关更多信息,请参阅“搜索 Issue 和 Pull Request”。
您可以筛选 Issue 和 Pull Request 以查找
- 所有打开的 Issue 和 Pull Request
- 您创建的 Issue 和 Pull Request
- 分配给您的 Issue 和 Pull Request
- 您被 @提及 的 Issue 和 Pull Request
提示
您还可以使用 GitHub CLI 筛选 Issue 或 Pull Request。有关更多信息,请参阅 GitHub CLI 文档中的“gh issue list
”或“gh pr list
”。
-
在 GitHub 上,导航到存储库的主页。
-
在您的存储库名称下方,单击 Issues 或 Pull Request.
-
在列表上方,选择**筛选器**下拉菜单,然后单击您感兴趣的筛选器类型。
构建 Issue 的高级筛选器
注意
Issue 类型、子 Issue 和高级 Issue 搜索目前处于组织的可选加入公开预览版中。要了解更多信息并将您的组织添加到候补名单,请参阅“GitHub 博客”。
您可以使用存储库的 Issue 页面上的布尔和嵌套查询构建高级筛选器。在您键入筛选器时,GitHub 将显示可用的限定符、建议值,并在筛选器存在问题时发出警告。
使用布尔运算符
您可以使用AND
和OR
运算符来细化筛选器。
当您需要同时满足两个条件的结果时,请使用AND
。在下面的示例过滤器中,结果将包含具有“Bug fix”标签且分配给@octocat用户的Issue。
label:"Bug fix" AND assignee:octocat
要返回满足任一条件的结果,请使用OR
。在下面的示例中,结果将包含分配给@octocat或@hubot的Issue。
assignee:octocat OR assignee:hubot
如果您选择不使用AND
和OR
运算符,GitHub将把语句之间的空格视为AND
运算符,除非您使用org
、repo
或user
字段按所有权进行筛选,在这种情况下,任何空格都将被视为OR
运算符。
使用括号创建更复杂的过滤器
您还可以使用括号嵌套过滤器并对限定符进行分组。在下面的示例中,结果将包含分配给@octocat且Issue类型为“bug”或分配给@hubot且Issue类型为“Enhancement”的Issue。
(type:"Bug" AND assignee:octocat) OR (type:"Enhancement" AND assignee:hubot)
您可以使用括号嵌套过滤器,最多五层。目前无法在括号内包含repo
、org
或user
限定符。
按指派者筛选Issue和Pull Request
一旦您将Issue或Pull Request分配给某人,您就可以根据谁在处理它们来查找项目。
-
在 GitHub 上,导航到存储库的主页。
-
在您的存储库名称下方,单击 Issues 或 Pull Request.
-
在Issue或Pull Request列表上方,选择**指派者**下拉菜单。
-
指派者下拉菜单列出了所有对您的仓库具有写入权限的人员。点击您想要查看其指派项目的用户的姓名,或者点击**未指派给任何人**以查看哪些Issue未分配。
要清除您的筛选器选择,请点击**清除当前搜索查询、过滤器和排序**。
按标签筛选Issue和Pull Request
一旦您将标签应用于Issue或Pull Request,您就可以根据其标签查找项目。
-
在 GitHub 上,导航到存储库的主页。
-
在您的存储库名称下方,单击 Issues 或 Pull Request.
-
在Issue或Pull Request列表上方,点击**标签**。
-
在标签列表中,点击一个标签。
提示
要清除您的筛选器选择,请点击**清除当前搜索查询、过滤器和排序**。
按Issue类型筛选
注意
Issue 类型、子 Issue 和高级 Issue 搜索目前处于组织的可选加入公开预览版中。要了解更多信息并将您的组织添加到候补名单,请参阅“GitHub 博客”。
如果您的组织使用Issue类型,则可以筛选特定类型的Issue。您也可以直接在过滤器中键入type:
限定符。
-
在 GitHub 上,导航到存储库的主页。
-
在您的存储库名称下方,单击 Issue.
-
在Issue列表上方,选择**类型**下拉菜单。
-
在类型列表中,点击一个Issue类型。
按审查状态筛选Pull Request
您可以使用过滤器按审查状态列出Pull Request,并查找您已审查或其他人要求您审查的Pull Request。
您可以筛选仓库的Pull Request列表以查找
- 尚未审查的Pull Request
- 在合并之前需要审查的Pull Request
- 审查者已批准的Pull Request
- 审查者已要求更改的Pull Request
- 您已审查的Pull Request
- 某人已直接要求您审查的Pull Request
- 某人已要求您或您所属的团队审查的Pull Request
-
在 GitHub 上,导航到存储库的主页。
-
在您的存储库名称下方,单击 Pull Request.
-
在右上角,选择**审查**下拉菜单。
-
选择一个过滤器以查找具有该过滤器状态的所有Pull Request。
使用搜索筛选Issue和Pull Request
您可以使用过滤器搜索满足特定条件的Issue和Pull Request。
搜索Issue和Pull Request
Issue和Pull Request搜索栏允许您定义自己的自定义过滤器并按各种条件排序。您可以在每个仓库的**Issue**和**Pull Request**选项卡以及您的Issue和Pull Request仪表盘上找到搜索栏。
提示
您可以使用键盘快捷键将光标聚焦在Issue或Pull Request列表上方的搜索栏上。有关更多信息,请参阅“键盘快捷键”。
要了解有关GitHub CLI的更多信息,请参阅“关于GitHub CLI”。
您可以使用GitHub CLI搜索Issue或Pull Request。使用gh issue list
或gh pr list
子命令以及--search
参数和搜索查询。
例如,您可以按创建日期排序,列出所有没有指派者且具有help wanted
或bug
标签的Issue。
gh issue list --search 'no:assignee label:"help wanted",bug sort:created-asc'
您还可以列出所有提及octo-org/octo-team
团队的Pull Request。
gh pr list --search "team:octo-org/octo-team"
关于搜索词
使用Issue和Pull Request搜索词,您可以
- 按作者筛选Issue和Pull Request:
state:open type:issue author:octocat
- 筛选涉及但并非一定@提及某些人的Issue和Pull Request:
state:open type:issue involves:octocat
- 按指派者筛选Issue和Pull Request:
state:open type:issue assignee:octocat
- 按标签筛选Issue和Pull Request:
state:open type:issue label:"bug"
- 使用搜索词前的
-
过滤掉搜索词:state:open type:issue -author:octocat
提示
您可以使用逻辑OR或逻辑AND按标签筛选Issue和Pull Request。
- 要使用逻辑OR筛选Issue,请使用逗号语法:
label:"bug","wip"
。 - 要使用逻辑AND筛选Issue,请使用单独的标签过滤器:
label:"bug" label:"wip"
。
对于Issue,您还可以使用搜索来
- 筛选与Pull Request通过关闭引用链接的Issue:
linked:pr
- 按关闭Issue的原因筛选Issue:
is:closed reason:completed
或is:closed reason:"not planned"
- 筛选具有特定类型的Issue:
is:open type:"Bug"
对于Pull Request,您还可以使用搜索来
- 筛选草稿Pull Request:
is:draft
- 筛选尚未审查的Pull Request:
state:open type:pr review:none
- 筛选在合并之前需要审查的Pull Request:
state:open type:pr review:required
- 筛选审查者已批准的Pull Request:
state:open type:pr review:approved
- 筛选审查者已要求更改的Pull Request:
state:open type:pr review:changes_requested
- 按审查者筛选Pull Request:
state:open type:pr reviewed-by:octocat
- 按请求审查的特定用户筛选Pull Request:
state:open type:pr review-requested:octocat
- 筛选某人已直接要求您审查的Pull Request:
state:open type:pr user-review-requested:@me
- 按请求审查的团队筛选Pull Request:
state:open type:pr team-review-requested:github/docs
- 筛选与Pull Request可能关闭的Issue链接的Pull Request:
linked:issue
- 按合并状态筛选Pull Request:
is:merged
或is:unmerged
排序Issue和Pull Request
过滤器可以进行排序,以便在特定时间段内提供更好的信息。
您可以按以下方式排序任何筛选视图:
- 最新创建的Issue或Pull Request
- 最早创建的Issue或Pull Request
- 评论最多的Issue或Pull Request
- 评论最少的Issue或Pull Request
- 最新更新的Issue或Pull Request
- 最早更新的Issue或Pull Request
- Issue或Pull Request上添加的反应最多的
-
在 GitHub 上,导航到存储库的主页。
-
在您的存储库名称下方,单击 Issues 或 Pull Request.
-
在Issue或Pull Request列表上方,选择**排序**下拉菜单,然后点击一种排序方法。
要清除您的排序选择,请点击**排序**>**最新**。
共享过滤器
当您筛选或排序Issue和Pull Request时,浏览器URL会自动更新以匹配新视图。
您可以将Issue生成的URL发送给任何用户,他们将能够看到与您相同的过滤器视图。
例如,如果您筛选分配给Hubot的Issue,并按最旧的打开的Issue进行排序,则您的URL将更新为类似以下内容
/issues?q=state:open+type:issue+assignee:hubot+sort:created-asc