Skip to main content

关于拉取请求审查

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

关于拉取请求审查

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

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

仓库所有者和协作者可向具体的个人申请拉取请求审查。 组织成员也可向具有仓库读取权限的团队申请拉取请求审查。 有关详细信息,请参阅“请求拉取请求审查”。 可以指定要自动分配给整个团队的团队成员的子集。 有关详细信息,请参阅“管理团队的代码审查设置”。

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

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

你可以对需要审查的拉取请求预定提醒。 有关详细信息,请参阅“管理团队的预定提醒”。

审查有三种可能的状态:

  • 注释:提交一般反馈,但不明确批准更改或请求其他更改。
  • 批准:提交反馈并批准合并拉取请求中提议的更改。
  • 请求更改:提交在拉取请求合并之前必须解决的反馈。

Tip

  • 请求更改”选项纯粹是信息性的,除非规则集或经典分支保护规则配置了“要求拉取请求”选项,否则不会阻止合并。 如果配置了该选项,并且具有对存储库的 adminownerwrite 访问权限的协作者提交请求更改的审查,则在同一协作者提交另一次要求批准拉取请求中更改的审查之前,拉取请求不能合并。
  • 即使没有获得批准审查,或者请求更改的审查者离开了组织或者联系不上,仓库所有者和管理员也可合并拉取请求。
  • 如果同时启用了必需审查和过期审查,并且代码修改提交已推送到批准的拉取请求分支,则批准将予驳回。 拉取请求必须经过再次审查和批准才可合并。
  • 当多个打开的拉取请求时分别有指向同一提交的头部分支时,如果一个或两者有待定或被拒绝的审查,你将无法合并它们。
  • 如果存储库需要具有写入或管理员权限的人员批准审查,则具有这些权限的人员的任何审批都用绿色复选标记表示,而不具备这些权限的人员的审批带有灰色复选标记。 带有灰色复选标记的审批不会影响拉取请求是否可以合并。
  • 拉取请求作者无法批准自己的拉取请求。

您可以在“对话”时间表中查看拉取请求收到的所有审查,也可在拉取请求的合并框中按仓库所有者和协作者查看审查。

拉取请求中合并框的屏幕截图。 列出了 Octocat 对请求的更改的评论。

Tip

可使用搜索限定符 review-requested:[USERNAME]team-review-requested:[TEAMNAME] 查找请求你或你所属团队审查的拉取请求。 有关详细信息,请参阅“搜索议题和拉取请求”。

解决对话

如果您打开了拉取请求或者您对被打开拉取请求的仓库具有写入权限,您可以解决拉取请求中的对话。

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

整个对话将被折叠并标记为已解决,以便您更容易找到仍需解决的对话。

如果评论中的建议超出您的拉取请求范围,您可以打开一个新的议题,追踪反馈并链接到原始评论。 有关详细信息,请参阅“创建议题”。

发现和导航对话

可以使用显示于“更改的文件”选项卡顶部的“对话”菜单发现和导航到拉取请求中的所有对话 。

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

拉取请求的“已更改的文件”选项卡“对话”菜单屏幕截图。

重新请求审核

您可以重新请求审查,例如在对您的拉取请求做出实质性更改之后。 要向审查者请求新的审查,请在“对话”侧栏中单击 图标。

必要的审查

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

Tip

如有必要,对存储库具有管理员或写入访问权限的人员可以消除拉取请求评审____。 有关详细信息,请参阅“忽略拉取请求审查”。

其他阅读材料