Skip to main content

审查拉取请求中的建议更改

在拉取请求中,你可以审查和讨论提交、更改的文件以及基本和比较分支中文件之间的区别(或“差异”)。

Tool navigation

关于审查拉取请求

您可以在拉取请求中每次审查一个文件的更改。 在拉取请求中审查文件时,可以对特定更改留下单个注释。 在完成审查每个文件后,您可以将该文件标记为已查看。 这会折叠文件,帮助您识别还需要审查的文件。 拉取请求标题中的进度条显示您查看过的文件数。 在按需要审查文件后, 您可以提交包含摘要评论的审查来批准拉取请求或请求额外更改。

Tip

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

开始审查

  1. 在存储库名称下,单击 “拉取请求”。

    存储库的主页的屏幕截图。 在水平导航栏中,标记为“拉取请求”的选项卡以深橙色标出。

  2. 在拉取请求列表中,单击要审查的拉取请求。

  3. 在拉取请求上,单击 “文件已更改”。

    拉取请求的选项卡的屏幕截图。 “已更改的文件”选项卡以深橙色突出显示。
    你可以在此选项卡中更改差异视图的格式,方法是单击 并选择统一视图或拆分视图。 当您查看其他拉取请求的差异时,您所做的选择将适用。

    拉取请求的“已更改的文件”选项卡的屏幕截图。 “差异视图”菜单用深橙色框标出。

    您也可以选择隐藏空白差异。 您所做的选择仅适用于此拉取请求,并在您下次访问此页面时被记住。

  4. (可选)筛选文件以仅显示要查看的文件或使用文件树导航到特定文件。 有关详细信息,请参阅“过滤拉取请求中的文件”。

  5. (可选)如果你有权访问 GitHub Copilot Enterprise,可以通过单击文件右上角的 ,然后单击“询问 Copilot 有关此差异的信息”来询问 Copilot 拉取请求中的文件更改,然后键入请求,例如“解释这些更改”。 有关详细信息,请参阅“在 GitHub 中向 GitHub Copilot 提问”。

  6. 将鼠标悬停在要添加评论的代码行上方,然后单击蓝色的评论图标。

    拉取请求中差异的屏幕截图。 在行号旁边,蓝色加号图标以橙色边框突出显示。

  7. 或者,可以在多行中添加批注。 可以单击要对其添加批注的第一行的行号,向下拖动以选择一系列行,然后单击要对其添加批注的最后一行上的蓝色批注图标。 或者,可以单击要对其添加注释的第一行旁边的蓝色批注图标,然后向下拖动到要对其添加批注的最后一行。

  8. 在评论字段中输入您的评论。

  9. (可选)要提供有关对一行或多行进行特定更改的建议,请单击“”,然后对建议块中的文本进行编辑。

    审核备注框屏幕截图。 用于建议特定更改的文件差异图标以深橙色轮廓显示。

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

    拉取请求的“文件已更改”页上的映像文件的屏幕截图。 在映像文件的右侧,注释图标以橙色边框突出显示。

  11. 完成后,单击“开始审查”。 如果已开始审查,可以单击“添加审查注释”。

提交审查之前,你的行注释为“待处理”状态并且仅对你可见。 您可以在提交审查之前随时编辑待处理的注释。 若要取消挂起的审查(包括其所有挂起的注释),请单击已更改的代码上方的“审查更改”,然后单击“放弃审查”

供审查的注释字段的屏幕截图。 “放弃审查”按钮用深橙色框标出。

可使用 GitHub Codespaces 来测试、运行和查看拉取请求。

  1. 在 codespace 中打开拉取请求,如“将 GitHub Codespaces 用于拉取请求”中所述。

  2. 在活动栏中,单击“GitHub Pull Request”视图****。 仅当在代码空间中打开拉取请求时,才会显示此视图。

    VS Code 活动栏的屏幕截图。 鼠标指针悬停在显示工具提示“GitHub 拉取请求”的图标上。

  3. 若要查看特定文件,请单击侧栏中的“打开文件”图标。

    “GitHub 拉取请求”边栏的屏幕截图。 文件名以深橙色边框突出显示。

  4. 若要添审阅注释,请单击行号旁边的 + 图标。 键入审阅注释,然后单击“开始审阅”。

    正在添加的注释的屏幕截图,其中显示“是的,我同意,这样更清晰明了”。 “开始审阅”按钮显示在注释下方。

  5. 或者,可以建议更改,如果拉取请求的作者同意你的建议,则可以单击提交。 为此,请单击并按住要建议更改的第一行旁边的 + 符号,然后将该 + 符号拖动到要建议更改的最后一行。 然后单击显示的注释框中的“提出建议”。

    所选行将复制到注释框中,可在其中对其进行编辑以建议更改。 可以在包含 ```suggestion 的行上方添加注释来解释建议的更改。

    单击“添加注释”,将建议添加到拉取请求。

    建议更改的屏幕截图。 建议更改下方显示了“提出建议”和“添加注释”按钮。

  6. 添加完审阅注释后,你可以从侧栏中选择提交评论、批准更改或请求更改。

    边栏的屏幕截图,其中显示了下拉选项“添加注释并提交”、“批准并提交”和“请求更改并提交”。

有关在 GitHub Codespaces 中查看拉取请求的详细信息,请参阅“将 GitHub Codespaces 用于拉取请求”。

了解拉取请求中的更改

Note

需要 GitHub Copilot 订阅。 有关详细信息,请参阅“什么是 GitHub Copilot?”。

GitHub Copilot 可以通过为特定提交提供上下文和解释,帮助你快速理解拉取请求中的更改。 如果你不确定某个特定更改的目的,或需要更多关于其如何融入整个代码库的详细信息,你可以向 Copilot 询问关于单个提交的问题。

  1. 导航到 GitHub 上的提交。

  2. 在 GitHub 上任何页面的右上角,单击搜索栏旁边的 GitHub Copilot 图标。

    此时将显示 GitHub Copilot Chat 面板。 要调整面板的大小,请单击并拖动顶部或左侧边缘。

  3. 如果面板包含与 Copilot 的上一个对话,请单击 Copilot 面板右上角的 加号图标以启动新对话。

  4. 在 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?

  5. (可选)单击文本框中的“”以阻止 Copilot 继续其响应。

查看依赖项更改

如果拉取请求包含对依赖项的更改,您可以使用清单或锁定文件的依赖项审阅来查看更改的内容,并检查更改是否引入安全漏洞。 有关详细信息,请参阅“审查拉取请求中的依赖项更改”。

  1. 在拉取请求上,单击 “文件已更改”。

    拉取请求的选项卡的屏幕截图。 “已更改的文件”选项卡以深橙色突出显示。

  2. 在清单或锁定文件标头的右侧,单击 多差异按钮以显示依赖项审查。

    拉取请求的“已更改的文件”选项卡的屏幕截图。 用于显示多差异的按钮(标有文件图标)以深橙色突出显示。

  3. 您可能还想查看源差异,因为清单或锁定文件可能会发生变化,但不会更改依赖项,也可能存在 GitHub 无法解析的依赖项,因此,这些依赖项不会显示在依赖项审核中。

    要返回到源差异视图,请单击“”按钮。****

    拉取请求的“已更改的文件”选项卡的屏幕截图。 用于显示源差异的按钮(标有代码图标)用深橙色框标出。

将文件标记为已查看

在完成审查文件后,您可以将文件标记为已查看,该文件将会收起。 如果查看过的文件有更改,将会取消已查看的标记。

  1. 在拉取请求上,单击 “文件已更改”。

    拉取请求的选项卡的屏幕截图。 “已更改的文件”选项卡以深橙色突出显示。

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

    文件标头的屏幕截图。 “已审查”选项用深橙色框标出。

提交审查

完成审查拉取请求中需要查看的所有文件后,提交您的审查。

  1. 在拉取请求上,单击 “文件已更改”。

    拉取请求的选项卡的屏幕截图。 “已更改的文件”选项卡以深橙色突出显示。

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

    拉取请求的“已更改的文件”选项卡的屏幕截图。 “审查更改”按钮用深橙色框标出。

  3. 输入评论,概述您对拟议更改的反馈。

  4. 选择您想要留下的审查类型:

    • 选择“注释”留下一般反馈而不显式批准更改或请求其他更改。
    • 选择“批准”提交反馈并批准合并拉取请求中提议的更改。
    • 选择“请求更改”,提交在拉取请求合并之前必须解决的反馈。
  5. 单击“提交审查”。

Tip

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

其他阅读材料