跳至主要内容

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

在拉取请求中,您可以审查和讨论提交、更改的文件以及基本分支和比较分支中文件之间的差异(或“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.
    您可以通过单击此选项卡中的 并选择统一视图或拆分视图来更改差异视图的格式。您所做的选择将应用于您查看其他拉取请求的差异时。

    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. 单击 **提交审查**。

提示:

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

进一步阅读