跳至主要内容

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

在拉取请求中,您可以审查和讨论提交、更改的文件以及基准分支和比较分支中文件之间的差异(或“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 拉取请求**视图。此视图仅在您在代码空间中打开拉取请求时才会显示。

    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访问权限的协作者提交了请求更改的审查,则在同一协作者提交另一个审查批准拉取请求中的更改之前,无法合并拉取请求。
  • 存储库所有者和管理员可以合并拉取请求,即使它没有收到批准的审查,或者请求更改的审查者已离开组织或无法使用。
  • 如果启用了所需的审查和过时的审查驳回,并且将修改代码的提交推送到已批准拉取请求的分支,则会驳回批准。拉取请求必须再次审查和批准才能合并。
  • 当多个打开的拉取请求都具有指向同一提交的头部分支时,如果其中一个或两个具有挂起的或拒绝的审查,则您将无法合并它们。
  • 如果您的存储库要求来自具有写入或管理员权限的人员的批准审查,则来自具有这些权限的人员的任何批准都将用绿色复选标记表示,而来自没有这些权限的人员的批准则用灰色复选标记表示。带有灰色复选标记的批准不会影响是否可以合并拉取请求。
  • 拉取请求作者不能批准他们自己的拉取请求。

进一步阅读