跳至主要内容

关于拉取请求审核

审核允许协作者对拉取请求中提出的更改发表评论、批准更改或在合并拉取请求之前请求进一步更改。存储库管理员可以要求在合并所有拉取请求之前获得批准。

关于拉取请求审核

拉取请求打开后,任何具有读取权限的人都可以查看并评论其提出的更改。你还可以建议对代码行进行特定更改,作者可以直接从拉取请求中应用这些更改。有关详细信息,请参阅“查看拉取请求中提出的更改”。

默认情况下,在公共存储库中,任何用户都可以提交审核,以批准或请求对拉取请求进行更改。组织所有者和存储库管理员可以限制谁可以提供批准的拉取请求审核或请求更改。有关详细信息,请参阅“管理组织中的拉取请求审核”和“管理存储库中的拉取请求审核”。

存储库所有者和协作者可以向特定人员请求拉取请求审核。组织成员还可以向具有存储库读取权限的团队请求拉取请求审核。有关详细信息,请参阅“请求拉取请求审核”。你可以指定团队成员的一个子集,以便自动分配到整个团队的位置。有关详细信息,请参阅“管理团队的代码审核设置”。

代码审查可以讨论提议的变更,并有助于确保变更符合代码库的贡献指南和其他质量标准。您可以在 CODEOWNERS 文件中定义哪些个人或团队拥有特定类型的代码或代码区域。当某个拉取请求修改了具有已定义所有者的代码时,该个人或团队将自动被请求作为审查者。有关详细信息,请参阅“关于代码所有者”。

有关请求和提供拉取请求审查的介绍,请参阅 审查拉取请求 GitHub 技能课程。

您可以为需要审查的拉取请求安排提醒。有关详细信息,请参阅“管理团队的计划提醒”。

审查有三种可能的状态

  • 评论:提交一般反馈,而无需明确批准变更或要求其他变更。
  • 批准:提交反馈并批准合并拉取请求中提出的变更。
  • 请求变更:提交必须在合并拉取请求之前解决的反馈。

提示:

  • 如果具有对代码库的 adminownerwrite 访问权限的协作者提交了请求变更的审查,则在同一协作者提交另一份审查批准拉取请求中的变更之前,无法合并拉取请求。
  • 代码库所有者和管理员可以合并拉取请求,即使它没有收到批准审查,或者请求变更的审查者已离开组织或不可用。
  • 如果启用了必需审查和过时审查驳回,并且将修改代码的提交推送到已批准的拉取请求的分支,则批准将被驳回。必须再次审查和批准拉取请求才能合并。
  • 当多个打开的拉取请求的头部分支指向同一提交时,如果其中一个或两个有待处理或被拒绝的审查,您将无法合并它们。
  • 如果你的代码库需要有写权限或管理员权限的人员批准审核,那么有这些权限的人员的任何批准都会用绿色对勾标记表示,而没有这些权限的人员的批准则用灰色对勾标记表示。带有灰色对勾标记的批准不会影响合并请求是否可以合并。
  • 请求合并的作者无法批准他们自己的请求合并。

你可以在对话时间线中查看请求合并收到的所有审核,并且可以在请求合并的合并框中查看代码库所有者和协作者的审核。

Screenshot of the merge box for a pull request. A review by Octocat with requested changes is listed.

提示:你可以使用搜索限定符 review-requested:[USERNAME]team-review-requested:[TEAMNAME] 找到请求你或你所在团队成员进行审核的请求合并。有关更多信息,请参阅“搜索问题和请求合并”。

解决对话

如果你打开了请求合并或有权写入请求合并所在的代码库,则可以解决请求合并中的对话。

要表示已更改文件选项卡上的对话已完成,请单击解决对话

整个对话将被折叠并标记为已解决,这样可以更轻松地找到仍需解决的对话。

如果评论中的建议超出了请求合并的范围,则可以打开一个新问题,以跟踪反馈并链接回原始评论。有关更多信息,请参阅“创建问题”。

发现和浏览对话

你可以使用已更改文件选项卡顶部显示的对话菜单发现和浏览请求合并中的所有对话。

在此视图中,你可以看到哪些对话未解决、已解决和已过时。这使得发现和解决对话变得很容易。

Screenshot of the "Conversations" menu on the "Files Changed" tab of a pull request.

重新请求审核

你可以重新请求审核,例如在你对请求合并进行重大更改之后。要在对话选项卡的侧边栏中请求审阅者进行新的审核,请单击 图标。

必需的审核

具有“编辑代码库规则”权限的代码库管理员或自定义角色可以要求在有人将请求合并合并到受保护分支之前,所有请求合并都收到特定数量的批准审核。你可以要求有代码库写权限的人员或指定的代码所有者进行批准审核。有关更多信息,请参阅“关于受保护分支”。

提示:如有必要,拥有存储库的管理写入访问权限的人员可以取消拉取请求审核。有关更多信息,请参阅“取消拉取请求审核”。

延伸阅读