关于审查拉取请求
最好逐个文件审查拉取请求中的更改。
- 检查 拉取请求中更改的每个文件。
- 对特定更改留下批注。
- 查看文件后,将其标记为 已查看 以折叠并跟踪进度。
- 拉取请求标头中的 进度栏 显示已查看的文件数。
- 完成后,可以通过提交带有摘要评论的审核来 批准 Pull Request 或 请求更改。
了解拉取请求的用途
了解拉取请求背后的动机,有助于让你的评审更有针对性且更有意义。 它还有助于提供与拉取请求作者意向和项目目标相符的反馈。
有多个选项可以更好地了解建议更改的上下文和理由。
使用拉取请求边栏了解上下文
在拉取请求边栏中,可以找到有价值的上下文,包括:
- 已链接的 问题 或 讨论:查看这些内容,了解该拉取请求旨在解决的问题或实现的目标。 还可以收集有关背景、设计决策或当前辩论的信息。
- 关联的项目或里程碑:查看此拉取请求如何融入大型项目或未来发布的版本。
使用此信息来制定评审框架,并检查拉取请求的目标是否与原始意向保持一致。
使用 副驾驶聊天 理解理论依据
你可以向 副驾驶聊天 寻求帮助,以了解拉取请求的意图或澄清此次更改中的任何部分。
-
在拉取请求页面的右上角,单击搜索栏旁边的 按钮。
副驾驶聊天 出现时,拉取请求作为上下文附加到提示窗口。
-
在提示框中,键入问题,然后按 Enter。 例如,可以输入:
What problem does this pull request solve?Why were these changes needed?Summarize the goals of this PR based on the linked issue.How does this PR relate to issue ISSUE-URL?
副驾驶聊天 可帮助你在开始逐行审查之前先理清整体情况。
开始审查
-
在仓库名称下,单击 “Pull requests”****。

-
在拉取请求列表中,单击要审查的拉取请求。
-
在拉取请求上,单击“ Files changed”****。
若要更改此选项卡中差异视图的格式,请单击 并选择统一视图或拆分视图。 当你查看其他拉取请求的差异时,你所做的选择将适用。

还可以隐藏空格差异。 您所做的选择仅适用于此拉取请求,并在您下次访问此页面时被记住。
-
(可选)筛选文件以仅显示要查看的文件或使用文件树导航到特定文件。
-
将鼠标悬停在要添加评论的代码行上方,然后单击蓝色的评论图标。

-
或者,可以在多行中添加批注。 若要选择一系列行,请单击要批注的第一行的行号,然后向下拖动到最后一行,或按住 Shift 并单击最后一行号。 然后,可以单击要批注的最后一行上的蓝色批注图标。 或者,可以单击要对其添加注释的第一行旁边的蓝色批注图标,然后向下拖动到要对其添加批注的最后一行。
-
在评论字段中输入您的评论。
-
(可选)要提供有关对一行或多行进行特定更改的建议,请单击“”,然后对建议块中的文本进行编辑。

-
若要直接对文件进行注释,请单击文件右侧的 ,然后键入注释。

-
完成后,单击“开始审查”。 如果已开始审查,可以单击“添加审查注释”。
在你提交审查之前,你的行注释处于“待处理”状态,并且仅对你可见。 您可以在提交审查之前随时编辑待处理的注释。 若要取消待处理的审核(包括其中所有待处理的评论),请单击“查看更改”,然后单击“放弃审核”。

查看依赖项更改
如果拉取请求包含对依赖项的更改,则可以使用清单或锁文件的依赖项评审来查看已更改的内容。 还可以检查更改是否引入了安全漏洞。 请参阅“审核拉取请求中的依赖项变更”。
-
在拉取请求上,单击“ Files changed”****。

-
在清单或锁定文件的标头右侧,单击 详细差异按钮,以显示依赖项评审。

-
您可能还想查看源差异,因为清单或锁定文件可能会发生变化,但不会更改依赖项,也可能存在 GitHub 无法解析的依赖项,因此,这些依赖项不会显示在依赖项审核中。
要返回到源差异视图,请单击“”按钮。****

将文件标记为已查看
查看完文件后,可以将该文件标记为已查看。 文件将折叠。 如果查看过的文件有更改,将会取消已查看的标记。
-
在拉取请求上,单击“ Files changed”****。

-
在已完成审查的文件的标头右侧,选择“已查看”。

提交评论
在您查看完拉取请求中您想要查看的所有文件后,提交您的审查。
-
在拉取请求上,单击“ Files changed”****。

-
在更改的代码上方,单击“审阅更改”。

-
输入评论,概述您对拟议更改的反馈。
-
选择您想要留下的审查类型:
- 选择“注释”以留下一般反馈,而无需明确批准或请求其他更改。
- 选择批准以提交您的反馈并批准合并在拉取请求中提议的更改。
- 选择请求更改,以提交必须在合并拉取请求之前解决的反馈。
-
单击“提交审查”。
提示
- “请求更改”选项纯粹是信息性的,除非规则集或经典分支保护规则配置了“要求拉取请求”选项,否则不会阻止合并。 如果配置了该选项,并且具有对存储库的
admin、owner或write访问权限的协作者提交请求更改的审查,则在同一协作者提交另一次要求批准拉取请求中更改的审查之前,拉取请求不能合并。 - 即使没有获得批准审查,或者请求更改的审查者离开了组织或者联系不上,仓库所有者和管理员也可合并拉取请求。
- 如果同时启用了必需审查和过期审查,并且代码修改提交已推送到批准的拉取请求分支,则批准将予驳回。 拉取请求必须经过再次审查和批准才可合并。
- 当多个打开的拉取请求时分别有指向同一提交的头部分支时,如果一个或两者有待定或被拒绝的审查,你将无法合并它们。
- 如果仓库需要具有写入或管理员权限的人员的批准审查,审阅者边栏会按权限级别对审批进行分组。 审批可能显示在两个部分中:
*
顶部部分主要包含来自具有写入或管理员权限的人员的审批,这些审批计入合并要求。 即使 GitHub Copilot 评审不计入合并要求,GitHub Copilot 的审批也会显示在本部分中。
- 可折叠部分(如果存在)**** 显示审阅者的审批,对于是否可以合并拉取请求而言,这些审阅者的评审并无影响。
- 拉取请求作者无法批准自己的拉取请求。