Skip to main content

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

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

Tool navigation

关于审查拉取请求

最好一次评审拉取请求中的一个文件:

  •         **检查**拉取请求中每个已更改的文件。
    
  • 对特定更改留下批注
  • 查看文件后,将其标记为 已查看 以折叠并跟踪进度。
  • 拉取请求标头中的 进度栏 显示已查看的文件数。
  • 完成后,你可以批准拉取请求或请求更改,通过提交包含总结评论的审核。

如果拉取请求是由 GitHub Copilot 提出的,那么在你提交批注时,Copilot 将进行更多工作来响应你的批注,并将新的提交推送到拉取请求中,以进行进一步更改。 请参阅“关于 GitHub Copilot 云代理”。

了解拉取请求的用途

清楚地了解拉取请求背后的动机有助于指导你的评审,使其能够更加针对性和有意义,并提供与拉取请求作者意图和项目目标相符的反馈。

有几种选项可供你更好地了解建议的更改的上下文和理由。

使用拉取请求边栏获取上下文

在拉取请求边栏中,可以找到有价值的上下文,包括:

  • 链接 问题讨论:查看这些内容以了解合并请求旨在解决的问题或目标,或收集有关背景、设计决策或当前争论的信息。
  • 关联的项目里程碑:查看此拉取请求如何融入大型项目或未来发布的版本。

使用此信息来制定评审框架,并检查拉取请求的目标是否与原始意向保持一致。

使用 Copilot 对话助手 理解理论依据

可以请求 Copilot 对话助手 帮助,了解拉取请求的意图,或澄清更改的任何部分。

  1. 在拉取请求页面的右上角,单击搜索栏旁边的 按钮。

           Copilot 对话助手 出现时,拉取请求作为上下文附加到提示窗口。
    
  2. 在提示框中,键入问题,然后按 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?

           Copilot 对话助手 可以帮助你在进行行级评审之前澄清整体情况。
      

开始审查

  1. 在仓库名称下,单击 “Pull requests”****。

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

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

  3. 在拉取请求上,单击“ Files changed”****。

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

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

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

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

  5. 可选)如果你有权访问GitHub Copilot Enterprise,可以询问Copilot有关拉取请求中文件更改的信息。首先点击文件右上角的,接着点击询问Copilot有关此变更,然后输入请求,例如“解释这些更改”。 有关详细信息,请参阅“在GitHub中询问有关GitHub Copilot的问题”。

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

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

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

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

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

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

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

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

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

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

          ![供审查的注释字段的屏幕截图。 “放弃审阅”按钮以深橙色边框显示。](/assets/images/help/pull_requests/abandon-review-button.png)

审查合并请求

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

  1. 在代码空间中打开拉取请求,如 将 GitHub Codespaces 用于拉取请求 所述。

  2. 在活动栏中,单击 “拉取请求”GitHub 视图。 仅当在Codespace中创建一个拉取请求时,才会显示此视图。

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

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

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

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

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

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

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

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

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

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

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

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

了解拉取请求中的更改

注意

你需要对 GitHub Copilot 的访问权限。 有关详细信息,请参阅“什么是GitHub Copilot?”。

          GitHub Copilot 可以通过提供特定提交的上下文和说明,帮助您快速了解拉取请求中的更改。 如果你不确定特定更改的目的,或者需要有关它如何适应更广泛的代码库的更多详细信息,可以询问 Copilot 有关单个提交的问题。
  1. 导航到GitHub上的提交。

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

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

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

  4. 在聊天面板底部的 Copilot “询问 Copilot”框中,键入问题,然后按 Enter。 例如,可以输入:

    • Summarize the changes in this commit

    • Who committed these changes?

    • When was this commit made?

    提示

    如果您知道某个提交的 SHA 值,那么无需导航到提交,您可以在 GitHub 存储库的任何页面通过将 SHA 包含在消息中来向 Copilot 查询该提交的信息。 例如: What changed in commit a778e0eab?

  5. 或者,提交问题后,可以在文本框中单击 以停止响应。

查看依赖项更改

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

  1. 在拉取请求上,单击“ Files changed”****。

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

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

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

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

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

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

将文件标记为已查看

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

  1. 在拉取请求上,单击“ Files changed”****。

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

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

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

提交评论

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

  1. 在拉取请求上,单击“ Files changed”****。

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

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

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

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

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

    • 选择“注释”以留下一般反馈,而无需明确批准或请求其他更改。
    • 选择批准以提交您的反馈并批准合并在拉取请求中提议的更改。
    • 选择“请求更改x”**** 以提交必须解决的反馈,然后才能合并拉取请求。
  5. 单击“提交审查”。

提示

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

其他阅读材料

  •         [AUTOTITLE](/repositories/configuring-branches-and-merges-in-your-repository/managing-protected-branches/about-protected-branches#require-pull-request-reviews-before-merging)
    
  •         [AUTOTITLE](/issues/tracking-your-work-with-issues/filtering-and-searching-issues-and-pull-requests)