跳至主要内容

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

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

提示

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

筛选问题和拉取请求

问题和拉取请求附带一组您可以应用于组织列表的默认筛选器。

您可以找到您或您所属团队被请求审查的拉取请求,方法是使用搜索限定符 review-requested:[USERNAME]team-review-requested:[TEAMNAME]。有关更多信息,请参阅“搜索问题和拉取请求”。

您可以筛选问题和拉取请求以查找

  • 所有打开的问题和拉取请求
  • 您创建的问题和拉取请求
  • 分配给您的问题和拉取请求
  • 您被@提及的问题和拉取请求

提示

您还可以使用 GitHub CLI 筛选问题或拉取请求。有关更多信息,请参阅 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

进一步阅读