跳到主要内容

在拉取请求中审查提议的更改

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

关于审查拉取请求

您可以一次审查拉取请求中的一个文件。在审查拉取请求中的文件时,您可以在特定更改上留下单独的评论。完成每个文件的审查后,您可以将文件标记为已查看。这将折叠文件,帮助您识别您仍需审查的文件。拉取请求标题中的进度条显示您已查看的文件数量。在审查完您想要查看的尽可能多的文件后,您可以批准拉取请求或通过提交包含摘要评论的审查来请求其他更改。

提示

您可以找到请求您或您所属团队进行审查的拉取请求,方法是使用搜索限定符 review-requested:[USERNAME]team-review-requested:[TEAMNAME]。有关更多信息,请参阅“搜索问题和拉取请求”。

开始审查

  1. 在您的存储库名称下,单击 拉取请求.

    Screenshot of the main page of a repository. In the horizontal navigation bar, a tab, labeled "Pull requests," is outlined in dark orange.

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

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

    Screenshot of the tabs for a pull request. The "Files changed" tab is outlined in dark orange.
    您可以通过单击此选项卡中的更改 diff 视图的格式并选择统一视图或拆分视图。您做出的选择将在您查看其他拉取请求的 diff 时应用。

    Screenshot of the "Files changed" tab for a pull request. The "Diff view" menu is outlined in dark orange.

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

  4. 可选:筛选文件以仅显示您要审查的文件,或使用文件树导航到特定文件。有关更多信息,请参阅“筛选拉取请求中的文件”。

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

    Screenshot of a diff in a pull request. Next to a line number, a blue plus icon is highlighted with an orange outline.

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

  7. 在评论字段中,键入您的评论。

  8. 可选:要建议对该行或多行进行特定更改,请单击

    然后,编辑建议块中的文本。

    Screenshot of a review comment box. The file diff icon to suggest a specific change is outlined in dark orange.

  9. 要直接评论文件,请在文件的右侧单击并输入您的评论。

    Screenshot of an image file on the "Files changed" page of a pull request. To the right of the image file, a comment icon is highlighted with an orange outline.

  10. 完成后,单击**开始审查**。如果您已经开始审查,则可以单击**添加审查评论**。

在提交审查之前,您的行注释为待定,并且仅对您可见。您可以在提交审查之前随时编辑待定注释。要取消待定审查(包括所有待定注释),请单击更改代码上方的**审查更改**,然后单击**放弃审查**。

Screenshot of the comment field for a review. The "Abandon review" button is outlined in dark orange.

您可以使用GitHub Codespaces测试、运行和审查拉取请求。

  1. 在 Codespace 中打开拉取请求,如“使用 GitHub Codespaces 进行拉取请求”中所述。

  2. 在活动栏中,单击**GitHub 拉取请求**视图。此视图仅在您在 Codespace 中打开拉取请求时显示。

    Screenshot of the VS Code Activity Bar. The mouse pointer is hovering over an icon displaying the tooltip "GitHub Pull Request."

  3. 要审查特定文件,请单击侧边栏中的**打开文件**图标。

    Screenshot of the "GitHub Pull Request" side bar. A file name is highlighted with a dark orange outline.

  4. 要添加审查评论,请单击行号旁边的**+**图标。键入您的审查评论,然后单击**开始审查**。

    Screenshot of a comment being added, reading "Yes, I agree, this is clearer." The "Start Review" button is shown below the comment.

  5. 可选地,您可以建议拉取请求作者可以单击以提交的更改(如果他们同意您的建议)。为此,请单击并按住要建议更改的第一行旁边的**+**号,然后将**+**号拖动到要建议更改的最后一行。然后,在显示的评论框中单击**提出建议**。

    您选择的行将复制到评论框中,您可以在其中编辑它们以建议更改。您可以在包含```suggestion的行上方添加评论以解释您的建议更改。

    单击**添加评论**将您的建议添加到拉取请求中。

    Screenshot of a suggested change. The "Make a Suggestion" and "Add Comment" buttons are shown below the suggested change.

  6. 完成添加审查评论后,您可以从侧边栏中选择提交评论、批准更改或请求更改。

    Screenshot of the side bar showing the dropdown options "Comment and Submit," "Approve and Submit," and "Request Changes and Submit."

有关在 GitHub Codespaces 中审查拉取请求的更多信息,请参阅“使用 GitHub Codespaces 进行拉取请求”。

审查依赖项更改

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

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

    Screenshot of the tabs for a pull request. The "Files changed" tab is outlined in dark orange.

  2. 在清单或锁定文件标题的右侧,通过单击****丰富差异按钮来显示依赖项审查。

    Screenshot of the "Files changed" tab of a pull request. The button to display the rich diff, labeled with a file icon, is outlined in dark orange.

  3. 您可能还需要审查源差异,因为清单或锁定文件可能存在不会更改依赖项的更改,或者可能存在 GitHub 无法解析的依赖项,因此这些依赖项不会出现在依赖项审查中。

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

    Screenshot of the "Files changed" tab of a pull request. The button to display the source diff, which is labeled with a code icon, is outlined in dark orange.

将文件标记为已查看

完成审查文件后,您可以将文件标记为已查看,文件将折叠。如果您在查看文件后文件发生更改,则该文件将取消标记为已查看。

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

    Screenshot of the tabs for a pull request. The "Files changed" tab is outlined in dark orange.

  2. 在您已完成审查的文件标题的右侧,选择**已查看**。

    Screenshot of the header of a file. The "Viewed" option is outlined in dark orange.

提交您的审查

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

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

    Screenshot of the tabs for a pull request. The "Files changed" tab is outlined in dark orange.

  2. 在更改的代码上方,单击**审查更改**。

    Screenshot of the "Files changed" tab of a pull request. The "Review changes" button is outlined in dark orange.

  3. 键入一条评论,总结您对建议更改的反馈。

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

    • 选择**评论**以留下一般反馈,而无需明确批准更改或请求其他更改。
    • 选择**批准**以提交您的反馈并批准合并拉取请求中提出的更改。
    • 选择**请求更改**以提交必须在合并拉取请求之前解决的反馈。
  5. 单击**提交审查**。

提示

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

进一步阅读