

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

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

# 在 Amazon 中使用拉取请求查看代码 CodeCatalyst
<a name="source-pull-requests"></a>

拉取请求是您和其他项目成员用于审查、注释和合并分支间的代码更改的主要方式。您可以使用拉取请求来协同审查代码更改，包括次要的更改或修复、主要功能添加或已发布软件的新版本。如果您使用事务来跟踪项目工作，您可以将特定事务与拉取请求相关联，以便于您跟踪拉取请求中的代码更改处理了哪些事务。当您创建、更新、评论、合并或关闭拉取请求时，系统会自动向拉取请求的作者以及该拉取请求的任何必需或可选的审阅者发送一封电子邮件。

**提示**  
您可以在个人资料中配置您将收到哪些拉取请求事件的相关电子邮件。有关更多信息，请参阅 [从 CodeCatalyst 发送 Slack 和电子邮件通知](notifications-manage.md)。

拉取请求需要在源存储库中建立两个分支：一个是源分支，其中包含您希望审查的代码；另一个是目标分支，您希望在其中合并已审查的代码。源分支包含 AFTER 提交，该提交包含要合并到目标分支中的更改。目标分支包含 BEFORE 提交，表示代码在拉取请求分支合并到目标分支中之前的状态。

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

虽然拉取请求是为特定源存储库和分支创建的，但作为项目工作的一部分，您可以创建、查看、审查和关闭拉取请求。您不必查看源存储库就能查看和处理拉取请求。创建拉取请求时，拉取请求状态会设置为 **Open**。拉取请求将保持打开状态，直到您在 CodeCatalyst 控制台中将其合并（将状态更改为 “**已合并**”）或将其关闭（将其状态更改为 “**已关闭**”）。

代码通过审查后，您可以通过以下几种方式之一更改拉取请求状态：
+ 在 CodeCatalyst 控制台中合并拉取请求。拉取请求源分支中的代码将被合并到目标分支中。拉取请求状态将变为**已合并**。无法改回 **Open** 状态。
+ 在本地合并分支并推送您的更改，然后在 CodeCatalyst 控制台中关闭拉取请求。
+ 使用 CodeCatalyst 控制台关闭拉取请求而不进行合并。这会将状态更改为**已关闭**，但不会将代码从源分支合并到目标分支。

在创建拉取请求之前，请：
+ 将要审查的代码更改提交和推送至一个分支（源分支）。
+ 为您的项目设置通知，这样其他用户就能收到您创建拉取请求时运行的任何工作流的相关通知。（此步骤为可选步骤，但建议使用。）

**Topics**
+ [创建拉取请求](pull-requests-create.md)
+ [查看拉取请求](pull-requests-view.md)
+ [管理将拉取请求与审批规则合并的要求](source-pull-requests-approval-rules.md)
+ [审核拉取请求](pull-requests-review.md)
+ [更新拉取请求](pull-requests-update.md)
+ [合并拉取请求](pull-requests-merge.md)
+ [关闭拉取请求](pull-requests-close.md)