跳至主要内容

关于拉取请求审查

审查允许协作者评论拉取请求中提出的更改,批准更改,或在合并拉取请求之前请求进一步更改。仓库管理员可以要求在合并之前批准所有拉取请求。

关于拉取请求审查

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

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

仓库所有者和协作者可以向特定人员请求拉取请求审查。组织成员还可以向具有对仓库的读取访问权限的团队请求拉取请求审查。有关更多信息,请参阅“请求拉取请求审查”。您可以指定团队成员的子集,以代替整个团队自动分配。有关更多信息,请参阅“管理团队的代码审查设置”。

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

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

您可以为需要审查的拉取请求安排提醒。更多信息,请参阅“管理团队的定期提醒”。

审查有三种可能的状态

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

提示

  • 请求更改选项纯粹是信息性的,除非规则集或经典分支保护规则配置了“需要拉取请求”选项,否则不会阻止合并。如果已配置并且具有对代码库的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.

重新请求审查

您可以重新请求审查,例如,在您对拉取请求进行了重大更改之后。要在对话选项卡的侧边栏中向审查者请求新的审查,请单击图标。

必需审查

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

提示

如有必要,具有对代码库的管理员写入访问权限的人员可以驳回拉取请求审查。更多信息,请参阅“驳回拉取请求审查”。

进一步阅读