跳至主要内容

筛选和搜索 Issue 和 Pull Request

要查找有关 GitHub 上存储库的详细信息,您可以筛选、排序和搜索与该存储库相关的 Issue 和 Pull Request。

提示

您还可以使用 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
  • 您被 **@提及** 的问题和拉取请求

提示

您还可以使用 GitHub CLI 筛选 Issue 或 Pull Request。有关更多信息,请参阅 GitHub CLI 文档中的“gh issue list”或“gh pr list”。

  1. 在 GitHub 上,导航到存储库的主页。

  2. 在您的存储库名称下,单击 **问题** 或 拉取请求.

    Screenshot of the main page of a repository. In the horizontal navigation bar, two tabs, labeled "Issues" and "Pull requests," are each outlined in dark orange.

  3. 在列表上方,选择**过滤器**下拉菜单,然后单击您感兴趣的过滤器类型。

    Screenshot of the list of issues for a repository. Above the list, a dropdown menu, labeled "Filters", is outlined in dark orange.

构建问题的高级过滤器

注意

问题类型、子问题和高级问题搜索目前处于组织的可选加入公开预览版。要了解更多信息并将您的组织添加到候补名单,请参阅“GitHub 博客”。

您可以使用布尔运算符和嵌套查询在存储库的问题页面上构建高级过滤器。当您键入过滤器时,GitHub 将显示可用的限定符、建议值,并在您的过滤器存在问题时发出警告。

使用布尔运算符

您可以使用ANDOR运算符来细化您的过滤器。

当您需要同时满足两个条件的结果时,使用AND。在下面的示例过滤器中,结果将包含具有“Bug fix”标签并分配给@octocat用户的那些问题。

label:"Bug fix" AND assignee:octocat

要返回满足任一条件的结果,请使用OR。在下面的示例中,结果将包含分配给@octocat或@hubot的问题。

assignee:octocat OR assignee:hubot

如果您选择不使用ANDOR运算符,GitHub 将把语句之间的空格视为AND运算符,除非您正在使用orgrepouser字段按所有权进行筛选,在这种情况下,任何空格都将被视为OR运算符。

使用括号进行更复杂的过滤

您还可以使用括号嵌套过滤器并对限定符进行分组。在下面的示例中,结果将包含分配给@octocat且问题类型为“bug”或分配给@hubot且问题类型为“Enhancement”的问题。

(type:"Bug" AND assignee:octocat) OR (type:"Enhancement" AND assignee:hubot)

您可以使用括号嵌套过滤器,最多五层。目前无法在括号内包含repoorguser限定符。

按指派者筛选问题和拉取请求

将问题或拉取请求指派给某人后,您可以根据处理这些项目的人员来查找项目。

  1. 在 GitHub 上,导航到存储库的主页。

  2. 在您的存储库名称下,单击 **问题** 或 拉取请求.

    Screenshot of the main page of a repository. In the horizontal navigation bar, two tabs, labeled "Issues" and "Pull requests," are each outlined in dark orange.

  3. 在问题或拉取请求列表上方,选择**指派者**下拉菜单。

    Screenshot of a list of issues. In the header above the list, a dropdown menu, labeled "Assignees", is outlined in dark orange.

  4. 指派者下拉菜单列出了所有对您的存储库具有写入权限的人员。单击您想要查看其指派项目的用户的姓名,或单击**未指派给任何人**以查看哪些问题未指派。

要清除您的过滤器选择,请单击**清除当前搜索查询、过滤器和排序**。

按标签筛选问题和拉取请求

将标签应用于问题或拉取请求后,您可以根据其标签查找项目。

  1. 在 GitHub 上,导航到存储库的主页。

  2. 在您的存储库名称下,单击 **问题** 或 拉取请求.

    Screenshot of the main page of a repository. In the horizontal navigation bar, two tabs, labeled "Issues" and "Pull requests," are each outlined in dark orange.

  3. 在问题或拉取请求列表上方,单击**标签**。

    Screenshot of the list of issues for a repository. Above the list, a button, labeled with a label icon and "Labels", is outlined in dark orange.

  4. 在标签列表中,单击一个标签。

提示

要清除您的过滤器选择,请单击**清除当前搜索查询、过滤器和排序**。

按问题类型筛选

注意

问题类型、子问题和高级问题搜索目前处于组织的可选加入公开预览版。要了解更多信息并将您的组织添加到候补名单,请参阅“GitHub 博客”。

如果您的组织使用问题类型,您可以筛选特定类型的问题。您也可以直接在过滤器中键入type:限定符。

  1. 在 GitHub 上,导航到存储库的主页。

  2. 在您的存储库名称下,单击 问题.

    Screenshot of the main page of a repository. In the horizontal navigation bar, a tab, labeled "Issues," is outlined in dark orange.

  3. 在问题列表上方,选择**类型**下拉菜单。

    Screenshot of a list of issues. In the header above the list, a dropdown menu, labeled "Types", is outlined in dark orange and the Issue Types menu is open.

  4. 在类型列表中,单击一个问题类型。

按审查状态筛选拉取请求

您可以使用过滤器按审查状态列出拉取请求,并查找您已审查或其他人要求您审查的拉取请求。

您可以筛选存储库的拉取请求列表以查找

  • 尚未 审查 的拉取请求
  • 合并前 需要审查 的拉取请求
  • 审查者已批准的拉取请求
  • 审查者已要求更改的拉取请求
  • 您已审查的拉取请求
  • 有人直接要求您审查的拉取请求
  • 有人 要求您或您所属的团队审查 的拉取请求
  1. 在 GitHub 上,导航到存储库的主页。

  2. 在您的存储库名称下,单击 拉取请求.

    Screenshot of the main page of a repository. In the horizontal navigation bar, a tab, labeled "Pull requests," is outlined in dark orange.

  3. 在右上角,选择**审查**下拉菜单。

    Screenshot of the filter menu above the list of pull requests. The "Reviews" dropdown is outlined in dark orange.

  4. 选择一个过滤器以查找所有具有该过滤器状态的拉取请求。

使用搜索筛选问题和拉取请求

您可以使用过滤器搜索满足特定条件的问题和拉取请求。

搜索问题和拉取请求

问题和拉取请求搜索栏允许您定义自己的自定义过滤器并按各种条件排序。您可以在每个存储库的**问题**和**拉取请求**选项卡以及您的问题和拉取请求仪表板上找到搜索栏。

Screenshot of the list of issues for a repository. Above the list, a search field, containing the query "is:issue is:open", is outlined in dark orange.

提示

您可以使用键盘快捷键将光标聚焦在问题或拉取请求列表上方的搜索栏上。有关更多信息,请参阅“键盘快捷键”。

要了解有关 GitHub CLI 的更多信息,请参阅“关于 GitHub CLI”。

您可以使用 GitHub CLI 搜索问题或拉取请求。使用gh issue listgh pr list子命令以及--search参数和搜索查询。

例如,您可以按创建日期的顺序列出所有没有指派者且具有help wantedbug标签的问题。

gh issue list --search 'no:assignee label:"help wanted",bug sort:created-asc'

您还可以列出所有提及octo-org/octo-team团队的拉取请求。

gh pr list --search "team:octo-org/octo-team"

关于搜索词

使用问题和拉取请求搜索词,您可以

  • 按作者筛选问题和拉取请求:state:open type:issue author:octocat
  • 筛选涉及但并非一定 @提及 某些人的问题和拉取请求:state:open type:issue involves:octocat
  • 按指派者筛选问题和拉取请求:state:open type:issue assignee:octocat
  • 按标签筛选问题和拉取请求:state:open type:issue label:"bug"
  • 使用术语之前的-筛选掉搜索词:state:open type:issue -author:octocat

提示

您可以使用逻辑 OR 或逻辑 AND 按标签筛选问题和拉取请求。

  • 要使用逻辑 OR 筛选问题,请使用逗号语法:label:"bug","wip"
  • 要使用逻辑 AND 筛选问题,请使用单独的标签过滤器:label:"bug" label:"wip"

对于问题,您还可以使用搜索来

  • 筛选通过关闭引用链接到拉取请求的问题:linked:pr
  • 按关闭问题的原因筛选问题:is:closed reason:completedis:closed reason:"not planned"
  • 筛选具有特定类型的问题:is:open type:"Bug"

对于拉取请求,您还可以使用搜索来

  • 筛选 草稿 拉取请求:is:draft
  • 筛选尚未 审查 的拉取请求:state:open type:pr review:none
  • 筛选合并前 需要审查 的拉取请求:state:open type:pr review:required
  • 筛选审查者已批准的拉取请求:state:open type:pr review:approved
  • 筛选审查者已要求更改的拉取请求:state:open type:pr review:changes_requested
  • 审查者 筛选拉取请求:state:open type:pr reviewed-by:octocat
  • 请求审查 的特定用户筛选拉取请求:state:open type:pr review-requested:octocat
  • 筛选有人直接要求您审查的拉取请求:state:open type:pr user-review-requested:@me
  • 按请求审查的团队筛选拉取请求:state:open type:pr team-review-requested:github/docs
  • 筛选链接到拉取请求可能关闭的问题的拉取请求:linked:issue
  • 合并 状态筛选拉取请求:is:mergedis:unmerged

排序问题和拉取请求

可以对过滤器进行排序,以便在特定时间段内提供更好的信息。

您可以按以下方式排序任何过滤视图

  • 最新创建的问题或拉取请求
  • 最早创建的问题或拉取请求
  • 评论最多的问题或拉取请求
  • 评论最少的问题或拉取请求
  • 最新更新的问题或拉取请求
  • 最早更新的问题或拉取请求
  • 问题或拉取请求上添加的反应最多的
  1. 在 GitHub 上,导航到存储库的主页。

  2. 在您的存储库名称下,单击 **问题** 或 拉取请求.

    Screenshot of the main page of a repository. In the horizontal navigation bar, two tabs, labeled "Issues" and "Pull requests," are each outlined in dark orange.

  3. 在问题或拉取请求列表上方,选择**排序**下拉菜单,然后单击排序方法。

    Screenshot of the list of issues for a repository. Above the list, a dropdown menu, labeled "Sort," is outlined in dark orange.

要清除排序选择,请单击**排序**>**最新**。

共享过滤器

当您筛选或排序问题和拉取请求时,浏览器 URL 会自动更新以匹配新视图。

您可以将问题生成的 URL 发送给任何用户,他们将能够看到与您相同的过滤器视图。

例如,如果您按指派给 Hubot 的问题进行筛选,并按最旧的打开的问题进行排序,您的 URL 将更新为类似以下内容

/issues?q=state:open+type:issue+assignee:hubot+sort:created-asc

进一步阅读