

亚马逊 CodeCatalyst 不再向新买家开放。现有客户可以继续正常使用该服务。有关更多信息，请参阅 [如何从中迁移 CodeCatalyst](migration.md)。

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 创建拉取请求
<a name="pull-requests-create"></a>

创建拉取请求有助于在您将代码更改合并到另一分支之前，让其他用户查看和审核您所做的更改。首先，您需要为代码更改创建一个分支，这称作拉取请求的源分支。提交更改并将其推送到存储库后，您可以创建一个拉取请求来将源分支的内容与目标分支的内容进行比较。

您可以在 Amazon CodeCatalyst 控制台中从特定分支、拉取请求页面或项目概述创建拉取请求。从特定分支创建拉取请求会自动在拉取请求创建页面上提供存储库名称和源分支。创建一个拉取请求时，您将自动收到有关该拉取请求的任何更新以及拉取请求的合并或关闭时间的电子邮件。

**注意**  
在创建拉取请求时，显示的差异是源分支最新块与目标分支最新块之间的差异。创建拉取请求后，显示的差异将是您选择的拉取请求修订版与创建拉取请求时目标分支最新块的提交之间的差异。有关 Git 中的差异和合并基础的更多信息，请参阅 Git 文档[git-merge-base](https://git-scm.com/docs/git-merge-base)中的。

在创建拉取请求时，您可以使用**为我编写描述**功能，让 Amazon Q 自动为拉取请求中包含的更改创建描述。当您选择此选项时，Amazon Q 会分析包含代码更改的源分支与要合并这些更改的目标分支之间的差异。然后，它会总结了这些更改的内容，以及对这些更改的意图和效果的优秀解释。此功能仅在美国西部（俄勒冈）地区适用于 CodeCatalyst 拉取请求。**为我编写描述**功能不适用于已链接存储库中的拉取请求。

**注意**  
**由 Amazon Bedrock** 提供支持： AWS 实现[自动滥用检测](https://docs.aws.amazon.com//bedrock/latest/userguide/abuse-detection.html)。由于**为我编写描述**、**创建内容摘要**、**推荐任务**、**使用 Amazon Q 创建功能或将功添加到项目**以及**将事务分配给 Amazon Q** 功能与用于软件开发的 Amazon Q 开发者版代理程序的功能都是基于 Amazon Bedrock 构建的，因此，用户可以充分利用 Amazon Bedrock 中实施的控制措施来强制实施安全性并负责任地使用人工智能（AI）。

**创建拉取请求**

1. 导航到您的项目。

1. 请执行以下操作之一：
   + 在导航窗格中，依次选择**代码**、**拉取请求**和**创建拉取请求**。
   + 在存储库主页上，选择**更多**，然后选择**创建拉取请求**。
   + 在项目页面上，选择**创建拉取请求**。

1. 在**源代码库**中，确保指定的源存储库是包含所提交代码的存储库。只有在您未从存储库的主页创建拉取请求时，才会显示此选项。

1. 在**目标分支**中，在审查代码后，选择要将代码合并到的分支。

1. 在**源分支**中，选择包含所提交代码的分支。

1. 在**拉取请求标题**中，输入一个标题，帮助其他用户了解需要审查的内容及其原因。

1. （可选）在**拉取请求描述**中，提供诸如事务链接或所做更改的描述之类的信息。
**提示**  
你可以选择 “**为我写描述**”， CodeCatalyst 自动生成拉取请求中包含的更改的描述。您可以在将自动生成的描述添加到拉取请求后，对描述进行更改。  
此功能要求为空间启用生成式人工智能功能，并且不适用于链接的存储库中的拉取请求。有关更多信息，请参阅 [Managing generative AI features](https://docs.aws.amazon.com/codecatalyst/latest/adminguide/managing-generative-ai-features.html)。

1. （可选）在**事务**中，选择**关联事务**，然后从列表中选择事务或输入事务 ID。要取消链接事务，请选择“取消链接”图标。

1. （可选）在**必需的审阅者**中，选择**添加必需审阅者**。从项目成员列表中进行选择，添加审阅者。必需的审阅者必须批准更改，才能将拉取请求合并到目标分支。
**注意**  
您不能将审阅者同时添加为必需的审阅者和可选的审阅者。您不能将自己添加为审阅者。

1. （可选）在**可选的审阅者**中，选择**添加可选审阅者**。从项目成员列表中进行选择，添加审阅者。可选的审阅者不必批准更改，这并不是将拉取请求合并到目标分支之前的必备要求。

1. 审查分支之间的差异。拉取请求中显示的差异是源分支中的修订与合并基准之间的更改，而合并基准是创建拉取请求时目标分支的 HEAD 提交。如果未显示任何更改，则分支可能相同，或者您可能为源和目标选择了相同的分支。

1. 如果您对拉取请求中包含的希望审查的代码和更改感到满意，请选择**创建**。
**注意**  
创建拉取请求后，可以添加备注。可以将备注添加到拉取请求中或文件内的单独行中，也可以为整个拉取请求添加备注。您可以使用 @ 符号后跟文件名的方式，添加指向文件等资源的链接。<a name="pull-requests-create-from-branch"></a>

**从分支创建拉取请求**

1. 导航到要在其中创建拉取请求的项目。

1. 在导航窗格中，选择**源存储库**，然后选择包含要审阅其代码更改的分支的存储库。

1. 选择默认分支名称旁边的下拉箭头，然后从列表中选择所需分支。要查看存储库的所有分支，请选择**查看全部**。

1. 选择**更多**，然后选择**创建拉取请求**。

1. 系统将为您预先选择存储库和源分支。在**目标分支**中，选择在审阅代码后要将代码合并到的分支。在**拉取请求标题**中，输入一个标题来帮助其他用户了解必须审阅的内容及其审阅原因。（可选）在**拉取请求描述**中提供更多信息，例如粘贴中相关问题的链接 CodeCatalyst，或者添加对您所做更改的描述。
**注意**  
如果拉取请求的目标分支与工作流中指定的某个分支匹配，则配置为针对拉取请求创建事件运行的工作流将在拉取请求创建后运行。

1. 审查分支之间的差异。如果未显示任何更改，则分支可能相同，或者您可能为源和目标选择了相同的分支。

1. （可选）在**事务**中，选择**关联事务**，然后从列表中选择事务或输入事务 ID。要取消链接事务，请选择“取消链接”图标。

1. （可选）在**必需的审阅者**中，选择**添加必需审阅者**。从项目成员列表中进行选择，添加审阅者。必需的审阅者必须批准更改，才能将拉取请求合并到目标分支。
**注意**  
您不能将审阅者同时添加为必需的审阅者和可选的审阅者。您不能将自己添加为审阅者。

1. （可选）在**可选的审阅者**中，选择**添加可选审阅者**。从项目成员列表中进行选择，添加审阅者。可选的审阅者不必批准更改，即可将拉取请求合并到目标分支中。

1. 如果您对拉取请求包含要审阅的更改以及所需的审阅者感到满意后，请选择**创建**。

如果您将任何工作流配置为在分支与拉取请求中的目标分支匹配时运行，则创建拉取请求后，您将在**拉取请求详细信息**区域的**概述**中看到有关这些工作流运行的信息。有关更多信息，请参阅[添加触发器到工作流](workflows-add-trigger-add.md)。