关于审查拉取请求
您可以在拉取请求中每次审查一个文件的更改。 在拉取请求中审查文件时,可以对特定更改留下单个注释。 在完成审查每个文件后,您可以将该文件标记为已查看。 这会折叠文件,帮助您识别还需要审查的文件。 拉取请求标题中的进度条显示您查看过的文件数。 在按需要审查文件后, 您可以提交包含摘要评论的审查来批准拉取请求或请求额外更改。
Tip
可使用搜索限定符 review-requested:[USERNAME]
或 team-review-requested:[TEAMNAME]
查找请求你或你所属团队审查的拉取请求。 有关详细信息,请参阅“搜索议题和拉取请求”。
开始审查
-
在存储库名称下,单击 “拉取请求”。
-
在拉取请求列表中,单击要审查的拉取请求。
-
在拉取请求上,单击 “文件已更改”。
你可以在此选项卡中更改差异视图的格式,方法是单击 并选择统一视图或拆分视图。 当您查看其他拉取请求的差异时,您所做的选择将适用。您也可以选择隐藏空白差异。 您所做的选择仅适用于此拉取请求,并在您下次访问此页面时被记住。
-
(可选)筛选文件以仅显示要查看的文件或使用文件树导航到特定文件。 有关详细信息,请参阅“过滤拉取请求中的文件”。
-
将鼠标悬停在要添加评论的代码行上方,然后单击蓝色的评论图标。
-
或者,可以在多行中添加批注。 可以单击要对其添加批注的第一行的行号,向下拖动以选择一系列行,然后单击要对其添加批注的最后一行上的蓝色批注图标。 或者,可以单击要对其添加注释的第一行旁边的蓝色批注图标,然后向下拖动到要对其添加批注的最后一行。
-
在评论字段中输入您的评论。
-
(可选)要提供有关对一行或多行进行特定更改的建议,请单击“”,然后对建议块中的文本进行编辑。
-
若要直接对文件进行注释,请单击文件右侧的 ,然后键入注释。
-
完成后,单击“开始审查”。 如果已开始审查,可以单击“添加审查注释”。
提交审查之前,你的行注释为“待处理”状态并且仅对你可见。 您可以在提交审查之前随时编辑待处理的注释。 若要取消挂起的审查(包括其所有挂起的注释),请单击已更改的代码上方的“审查更改”,然后单击“放弃审查”。
可使用 GitHub Codespaces 来测试、运行和查看拉取请求。
-
在代码空间中打开拉取请求,如“将 GitHub Codespaces 用于拉取请求”中所述。
-
在活动栏中,单击“GitHub Pull Request”视图****。 仅当在代码空间中打开拉取请求时,才会显示此视图。
-
若要查看特定文件,请单击侧栏中的“打开文件”图标。
-
若要添审阅注释,请单击行号旁边的 + 图标。 键入审阅注释,然后单击“开始审阅”。
-
或者,可以建议更改,如果拉取请求的作者同意你的建议,则可以单击提交。 为此,请单击并按住要建议更改的第一行旁边的 + 符号,然后将该 + 符号拖动到要建议更改的最后一行。 然后单击显示的注释框中的“提出建议”。
所选行将复制到注释框中,可在其中对其进行编辑以建议更改。 可以在包含
```suggestion
的行上方添加注释来解释建议的更改。单击“添加注释”,将建议添加到拉取请求。
-
添加完审阅注释后,你可以从侧栏中选择提交评论、批准更改或请求更改。
有关在 GitHub Codespaces 中查看拉取请求的详细信息,请参阅“将 GitHub Codespaces 用于拉取请求”。
了解拉取请求中的更改
Note
需要 GitHub Copilot 订阅。 有关详细信息,请参阅“什么是 GitHub Copilot?”。
GitHub Copilot 可以通过为特定提交提供上下文和解释,帮助你快速理解拉取请求中的更改。 如果你不确定某个特定更改的目的,或需要更多关于其如何融入整个代码库的详细信息,你可以向 Copilot 询问关于单个提交的问题。
-
导航到 GitHub 上的提交。
-
在 GitHub 上任何页面的右上角,单击搜索栏旁边的 GitHub Copilot 图标。
此时将显示 GitHub Copilot Chat 面板。 要调整面板的大小,请单击并拖动顶部或左侧边缘。
-
如果面板包含与 Copilot 的上一个对话,请单击 Copilot 面板右上角的 加号图标以启动新对话。
-
在 Copilot 聊天面板底部,在“询问 Copilot”框,键入问题,然后按 Enter。 例如,可以输入:
-
Summarize the changes in this commit
-
Who committed these changes?
-
When was this commit made?
Tip
如果知道提交的 SHA,可以在消息中包含 SHA,以便从 GitHub 上的存储库中的任何页面向 Copilot 询问提交内容,而不是导航到提交内容。 例如:
What changed in commit a778e0eab?
-
-
(可选)单击文本框中的“”以阻止 Copilot 继续其响应。
查看依赖项更改
如果拉取请求包含对依赖项的更改,您可以使用清单或锁定文件的依赖项审阅来查看更改的内容,并检查更改是否引入安全漏洞。 有关详细信息,请参阅“审查拉取请求中的依赖项更改”。
-
在拉取请求上,单击 “文件已更改”。
-
在清单或锁定文件标头的右侧,单击 多差异按钮以显示依赖项审查。
-
您可能还想查看源差异,因为清单或锁定文件可能会发生变化,但不会更改依赖项,也可能存在 GitHub 无法解析的依赖项,因此,这些依赖项不会显示在依赖项审核中。
要返回到源差异视图,请单击“”按钮。****
将文件标记为已查看
在完成审查文件后,您可以将文件标记为已查看,该文件将会收起。 如果查看过的文件有更改,将会取消已查看的标记。
-
在拉取请求上,单击 “文件已更改”。
-
在已完成审查的文件的标头右侧,选择“已查看”。
提交审查
完成审查拉取请求中需要查看的所有文件后,提交您的审查。
-
在拉取请求上,单击 “文件已更改”。
-
在更改的代码上方,单击“审阅更改”。
-
输入评论,概述您对拟议更改的反馈。
-
选择您想要留下的审查类型:
- 选择“注释”留下一般反馈而不显式批准更改或请求其他更改。
- 选择“批准”提交反馈并批准合并拉取请求中提议的更改。
- 选择“请求更改”,提交在拉取请求合并之前必须解决的反馈。
-
单击“提交审查”。
Tip
- “请求更改”选项纯粹是信息性的,除非规则集或经典分支保护规则配置了“要求拉取请求”选项,否则不会阻止合并。 如果配置了该选项,并且具有对存储库的
admin
、owner
或write
访问权限的协作者提交请求更改的审查,则在同一协作者提交另一次要求批准拉取请求中更改的审查之前,拉取请求不能合并。 - 即使没有获得批准审查,或者请求更改的审查者离开了组织或者联系不上,仓库所有者和管理员也可合并拉取请求。
- 如果同时启用了必需审查和过期审查,并且代码修改提交已推送到批准的拉取请求分支,则批准将予驳回。 拉取请求必须经过再次审查和批准才可合并。
- 当多个打开的拉取请求时分别有指向同一提交的头部分支时,如果一个或两者有待定或被拒绝的审查,你将无法合并它们。
- 如果存储库需要具有写入或管理员权限的人员批准审查,则具有这些权限的人员的任何审批都用绿色复选标记表示,而不具备这些权限的人员的审批带有灰色复选标记。 带有灰色复选标记的审批不会影响拉取请求是否可以合并。
- 拉取请求作者无法批准自己的拉取请求。
延伸阅读
- “关于受保护分支”
- "筛选和搜索议题以及拉取请求"