

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

# 入门 AWS CodeCommit
<a name="getting-started-cc"></a>

本教程向您展示如何使用一些关键 CodeCommit 功能。首先，请创建一个存储库并提交一些对它的更改。然后，浏览文件并查看更改。您还可以创建拉取请求，以便其他用户可以审核并注释代码的更改。

如果要将现有代码迁移到 CodeCommit，请参阅[迁移到 AWS CodeCommit](how-to-migrate-repository.md)。

如果您不熟悉 Git，也可以考虑完成 [Git 入门和 CodeCommit](getting-started.md)。完成这些教程后，你应该有足够的练习来开始在自己的项目和团队环境中使用 CodeCommit 。

 CodeCommit 控制台在可折叠面板中包含有用的信息，您可以通过页面上的信息图标 (![\[The information icon that opens and closes the help panel on a page.\]](http://docs.aws.amazon.com/zh_cn/codecommit/latest/userguide/images/codecommit-info-icon.png)) 或任何 “**信息**” 链接打开该面板。您可以随时关闭此面板。

![\[在控制台中查看其他指导\]](http://docs.aws.amazon.com/zh_cn/codecommit/latest/userguide/images/codecommit-guidance-open.png)


 CodeCommit 控制台还提供了一种快速搜索资源的方法，例如存储库、生成项目、部署应用程序和管道。选择**转到资源**或按下 `/` 键，然后键入资源的名称。任何匹配结果都会显示在列表中。搜索不区分大小写。您只能看到您有权查看的资源。有关更多信息，请参阅 [在控制台中查看资源](auth-and-access-control-iam-identity-based-access-control.md#console-resources)。

## 先决条件
<a name="getting-started-cc-prereqs"></a>

在开始之前，必须完成[先决条件和设置](setting-up.md)过程，包括：
+ 向 IAM 用户分配权限。
+ 在您用来完成本教程的本地计算机上为 HTTPS 或 SSH 连接设置凭证管理。
+  AWS CLI 如果要使用命令行或终端执行所有操作（包括创建存储库），请配置。

**Topics**
+ [先决条件](#getting-started-cc-prereqs)
+ [步骤 1：创建 CodeCommit 存储库](#getting-started-cc-create-repo)
+ [步骤 2：向您的存储库添加文件](#getting-started-cc-add)
+ [步骤 3：浏览存储库的内容](#getting-started-cc-browse)
+ [步骤 4：在拉取请求中进行创建和协作](#getting-started-cc-pullrequest)
+ [第 5 步：清理](#getting-started-cc-clean-up)
+ [步骤 6：后续步骤](#getting-started-cc-next)

## 步骤 1：创建 CodeCommit 存储库
<a name="getting-started-cc-create-repo"></a>

您可以使用 CodeCommit 控制台创建 CodeCommit 存储库。如果您已有可用于本教程的存储库，可以跳过该步骤。

**注意**  
根据您的使用情况，您可能需要为创建或访问存储库付费。有关更多信息，请参阅 CodeCommit 产品信息页面上的[定价](https://aws.amazon.com/codecommit/pricing)。

**创建 CodeCommit 存储库**

1. 在 [https://console.aws.amazon.com/codesuite/codemmit](https://console.aws.amazon.com/codesuite/codecommit/home) /home 打开 CodeCommit 控制台。

1. 使用区域选择器选择要在 AWS 区域 哪里创建存储库。有关更多信息，请参阅 [区域和 Git 连接端点](regions.md)。

1. 在**存储库**页面上，选择**创建存储库**。

1. 在**创建存储库**页面上的**存储库名称**中，输入存储库的名称（例如，**MyDemoRepo**）。
**注意**  
存储库名称区分大小写，且不能超过 100 个字符。有关更多信息，请参阅[限制](limits.md#limits-repository-names)。

1. （可选）在**描述**中，输入描述（例如，**My demonstration repository**）。这可以帮助您及其他用户了解存储库的用途。

1. （可选）选择 **Add t** ag，向存储库添加一个或多个存储库标签（可帮助您组织和管理 AWS 资源的自定义属性标签）。有关更多信息，请参阅 [在中标记存储库 AWS CodeCommit](how-to-tag-repository.md)。

1. （可选）展开**其他配置**以指定是使用默认密钥 AWS 托管式密钥 还是您自己的客户托管密钥来加密和解密此存储库中的数据。如果您选择使用自己的客户托管密钥，则必须确保该密钥在您创建存储库 AWS 区域 的地方可用，并且该密钥处于活动状态。有关更多信息，请参阅 [AWS Key Management Service 以及 AWS CodeCommit 存储库的加密](encryption.md)。

1. （可选）如果此存储库将包含 **Java 或 Python 代码，并且您想让 CodeGuru Reviewer 分析该代码，请选择 “为 Java 和 Python 启用 Ama** zon CodeGuru Reviewer”。 CodeGuru Reviewer 使用多个机器学习模型来查找代码缺陷，并自动在拉取请求中提出改进和修复建议。有关更多信息，请参阅 Amazon CodeGuru Reviewer 用户指南。

1. 选择**创建**。

![\[从控制台创建存储库\]](http://docs.aws.amazon.com/zh_cn/codecommit/latest/userguide/images/codecommit-create-repository.png)


**注意**  
如果存储库使用了 `MyDemoRepo` 以外的名称，请务必在剩余步骤中使用该名称。

当存储库打开时，您将看到有关如何直接从 CodeCommit 控制台添加文件的信息。

## 步骤 2：向您的存储库添加文件
<a name="getting-started-cc-add"></a>

可以通过以下方法向您的存储库添加文件：
+ 在 CodeCommit 控制台中创建文件。如果您在控制台中为存储库创建第一个文件，则系统会为您创建一个名为 *main* 的分支。此分支是存储库的默认分支。
+ 使用 CodeCommit 控制台从本地计算机上传文件。如果您从控制台为存储库上传第一个文件，则系统会为您创建一个名为 *main* 的分支。此分支是存储库的默认分支。
+ 使用 Git 客户端将仓库克隆到本地计算机，然后向仓 CodeCommit 库添加、提交和推送文件。在 Git 中执行第一个提交时，系统会为您创建一个分支，并且会将其设置为存储库的默认分支。分支的名称是 Git 客户端的默认选项。请考虑将 Git 客户端配置为使用 *main* 作为初始分支的名称。

**注意**  
您可以随时创建分支并更改存储库的默认分支。有关更多信息，请参阅 [使用 AWS CodeCommit 存储库中的分支](branches.md)。

最简单的入门方法是打开 CodeCommit 控制台并添加文件。这样，您还可以为存储库创建一个名为 *main* 的默认分支。有关如何使用向存储库添加文件和创建首次提交的说明 AWS CLI，请参阅使用[创建存储库的第一个提交 AWS CLI](how-to-create-commit.md#create-first-commit)。

**向存储库添加文件**

1. 在存储库的导航栏中，选择**代码**。

1. 选择**添加文件**，然后选择是创建文件还是从您的计算机上传文件。本教程向您展示了如何执行这两个操作。

1. 要添加文件，请执行以下操作：

   1. 在分支下拉列表中，选择要添加文件的分支。已为您自动选择默认分支。在此处显示的示例中，默认分支名为*main*。如果要将文件添加到不同的分支，请选择不同的分支。

   1.  在**文件名**中，为文件输入名称。在代码编辑器中，输入文件的代码。

   1. 在**作者姓名**中，输入您希望显示给其他存储库用户的姓名。

   1. 在**电子邮件地址**中，输入电子邮件地址。

   1. （可选）在**提交消息**中，输入一条简短的消息。虽然这是可选的，但建议您添加提交消息以帮助您的团队成员了解您添加此文件的原因。如果您没有输入提交消息，将使用默认消息。

   1. 选择**提交更改**。

   要上传文件，请执行以下操作：
   + 如果正在上传文件，请选择要上传的文件。  
![\[在 CodeCommit 控制台中上传文件的视图\]](http://docs.aws.amazon.com/zh_cn/codecommit/latest/userguide/images/codecommit-commit-first-file.png)
   + 在**作者姓名**中，输入您希望显示给其他存储库用户的姓名。
   + 在**电子邮件地址**中，输入电子邮件地址。
   + （可选）在**提交消息**中，输入一条简短的消息。虽然这是可选的，但建议您添加提交消息以帮助您的团队成员了解您添加此文件的原因。如果您没有输入提交消息，将使用默认消息。
   + 选择**提交更改**。

有关更多信息，请参阅 [使用 AWS CodeCommit 存储库中的文件](files.md)。

要使用 Git 客户端克隆仓库，请在本地计算机上安装 Git，然后克隆 CodeCommit 仓库。向本地存储库中添加一些文件，并将它们推送到 CodeCommit 存储库。有关深入介绍，请尝试 [Git 入门和 CodeCommit](getting-started.md)。如果您熟悉 Git，但不确定如何使用 CodeCommit 存储库执行此操作，则可以在[创建提交](how-to-create-commit.md)[步骤 2：创建本地存储库](getting-started.md#getting-started-set-up-folders)、或中查看示例和说明[连接存储库](how-to-connect.md)。

将一些文件添加到 CodeCommit 存储库后，可以在控制台中查看它们。

## 步骤 3：浏览存储库的内容
<a name="getting-started-cc-browse"></a>

您可以使用 CodeCommit 控制台查看存储库中的文件或快速读取文件的内容。这可以帮助您确定要签出的分支或者确定是否需要创建存储库的本地副本。

**浏览存储库**

1. 从 “**存储库**” 中选择 MyDemoRepo。

1. 页面显示了存储库的默认分支中的内容。要查看其他分支或查看特定标签处的代码，请从列表中选择要查看的分支或标签。在下面的屏幕截图中，视图设置为 **main** 分支。  
![\[浏览存储库的内容\]](http://docs.aws.amazon.com/zh_cn/codecommit/latest/userguide/images/codecommit-code-browse.png)

1. 要查看存储库中某个文件的内容，请从列表中选择该文件。要更改所显示代码的颜色，请选择设置图标。  
![\[查看文件的内容\]](http://docs.aws.amazon.com/zh_cn/codecommit/latest/userguide/images/codecommit-code-browse-file.png)

   有关更多信息，请参阅 [浏览存储库中的文件](how-to-browse.md)。

1. 要浏览存储库的提交历史记录，请选择**提交**。控制台按时间倒序显示默认分支的提交历史记录。可以按作者、日期等查看提交详细信息。  
![\[控制台中的提交历史记录视图\]](http://docs.aws.amazon.com/zh_cn/codecommit/latest/userguide/images/codecommit-code-history.png)

1. 要按[分支](branches.md)或 [Git 标签](how-to-view-tag-details.md)查看提交历史记录，请从列表中选择要查看的分支或标签。

1. 要查看提交与其父项之间的差异，请选择缩写的提交 ID。您可以选择更改的显示方式，包括显示或隐藏空格更改，以及是以内联方式（**统一**视图）还是并排方式（**拆分**视图）查看更改。
**注意**  
每当您更改用于查看代码和其他控制台设置的首选项时，都会将它们保存为浏览器 Cookie。有关更多信息，请参阅 [使用用户首选项](user-preferences.md)。  
![\[在统一视图中显示的更改，空格更改可见\]](http://docs.aws.amazon.com/zh_cn/codecommit/latest/userguide/images/codecommit-commit-changes2c.png)

1. 要查看对提交的所有评论，请选择提交，然后滚动显示更改以便通过内联方式查看更改。您还可以添加自己的评论并回复他人发表的评论。

   有关更多信息，请参阅 [评论提交](how-to-commit-comment.md)。

1. 要查看任意两个提交说明符（包括标签、分支和提交）之间的差异，请在导航窗格中选择 “**提交**”，然后选择 “**比较提交**”。 IDs  
![\[将提交与拆分视图中的分支的提示相比较\]](http://docs.aws.amazon.com/zh_cn/codecommit/latest/userguide/images/codecommit-compare-4.png)

   有关更多信息，请参阅[浏览存储库的提交历史记录](how-to-view-commit-details.md#how-to-view-commit-details-console-history)和[比较提交](how-to-compare-commits.md)。

1. 在**提交**中，选择**提交可视化工具**选项卡。  
![\[控制台中的存储库图形视图\]](http://docs.aws.amazon.com/zh_cn/codecommit/latest/userguide/images/codecommit-cv-complex1.png)

   此时会显示提交图，图中每个提交点的旁边显示其主题行。主题行显示限制为 80 个字符。

1. 要查看有关提交的更多详细信息，请选择其缩写的提交 ID。要呈现特定提交的图表，请在图表中选择该点。有关更多信息，请参阅 [查看存储库的提交历史记录图表](how-to-view-commit-details.md#how-to-view-commit-details-console-visualizer)。

## 步骤 4：在拉取请求中进行创建和协作
<a name="getting-started-cc-pullrequest"></a>

当您与其他用户在存储库中一起工作时，您可以协作编写代码并审核更改。您可以创建拉取请求，以便其他用户可以在分支中审核并注释您的代码更改。您还可以为拉取请求创建一个或多个审批规则。例如，您可以创建一个审批规则，要求在拉取请求合并之前，至少由另外两名用户对其进行审批。拉取请求经审批后，您可以将这些更改合并到其目标分支中。如果您为存储库设置了通知，则存储库用户可以收到有关存储库事件的电子邮件（例如，针对拉取请求，或在有人对代码评论时）。有关更多信息，请参阅 [为 AWS CodeCommit 存储库中的事件配置通知](how-to-repository-email.md)。

**重要**  
在创建拉取请求之前，必须先创建一个分支，其中包含要查看的代码更改。有关更多信息，请参阅 [创建分支](how-to-create-branch.md)。

**在拉取请求中进行创建和协作**

1. 在导航窗格中，选择**拉取请求**。

1. 在**拉取请求**中，选择**创建拉取请求**。
**提示**  
您也可以从**分支**和**代码**创建拉取请求。

   在 **Create pull request** 中，在 **Source** 中选择包含要审核的更改的分支。在 **Destination (目标)** 中，选择要在拉取请求关闭后将已审核的代码合并到的分支。选择 **Compare**。

1. 审核合并详细信息和更改，以确认拉取请求包含要审核的更改和提交。如果是这样，请在**标题**中输入此审核的标题。此标题显示在存储库的拉取请求列表中。在**描述**中，输入有关此审核的详细信息及对审核者有用的任何其他信息。选择**创建**。  
![\[创建拉取请求\]](http://docs.aws.amazon.com/zh_cn/codecommit/latest/userguide/images/codecommit-pull-request-create.png)

1. 拉取请求将显示在存储库的拉取请求列表中。您可以筛选视图，使其只显示打开的请求、关闭的请求、您创建的请求等。  
![\[查看存储库中的拉取请求\]](http://docs.aws.amazon.com/zh_cn/codecommit/latest/userguide/images/codecommit-pull-request-view.png)

1. 您可以向拉取请求添加审批规则，以确保该请求在合并之前满足某些条件。要向拉取请求添加审批规则，请从列表中选择拉取请求。在 **Approvals (审批)** 选项卡上，选择 **Create approval rule (创建审批规则)**。

1. 在 **Rule name (规则名称)** 中，为规则指定一个描述性名称。例如，如果您希望拉取请求在合并之前，必须由两人对其进行审批，那么可以将该规则命名为 **Require two approvals before merge**。在 **Number of approvals needed (需要的审批数量)** 中，输入所需的数量 **2**。默认 为 1。选择**提交**。要了解有关审批规则和审批池成员的更多信息，请参阅[为拉取请求创建审批规则](how-to-create-pull-request-approval-rule.md)。  
![\[为拉取请求创建审批规则\]](http://docs.aws.amazon.com/zh_cn/codecommit/latest/userguide/images/codecommit-create-approval-rule.png)

1. 如果已为存储库配置通知并选择向用户通知拉取请求事件，用户会收到有关新拉取请求的电子邮件。用户可以查看针对特定代码行、文件和拉取请求自身的更改和评论。他们还可以使用文字和表情符号回复评论。如有必要，可以将更改推送到拉取请求分支，此操作会更新拉取请求。  
![\[对拉取请求的评论添加表情符号反应。\]](http://docs.aws.amazon.com/zh_cn/codecommit/latest/userguide/images/codecommit-commenting-commenttab.png)

1. 如果您对请求中所做的更改感到满意，请选择 **Approve (批准)**。即使该拉取请求未配置审批规则，您也可以选择批准拉取请求。这样可清楚地记录您已审核拉取请求并批准更改。如果您改变主意，还可以选择撤销批准。  
![\[查看拉取请求的审批\]](http://docs.aws.amazon.com/zh_cn/codecommit/latest/userguide/images/codecommit-pull-request-approvals.png)
**注意**  
如果拉取请求由您创建，那么您无法批准该请求。

1. 当您对在拉取请求中审核并同意的所有代码更改感到满意后，执行以下操作之一：
   + 如果要关闭拉取请求而不合并分支，请选择 **Close pull request (关闭拉取请求)**。
   + 如果要合并分支并关闭拉取请求，请选择 **Merge (合并)**。您可以在代码的可用合并策略之间进行选择，这些策略取决于源和目标分支之间的差异，以及在合并完成后是否自动删除源分支。在进行选择后，请选择 **Merge pull request (合并拉取请求)** 以完成合并。  
![\[一个拉取请求，显示 CodeCommit 控制台中可用于合并的合并策略。\]](http://docs.aws.amazon.com/zh_cn/codecommit/latest/userguide/images/codecommit-merge-squash.png)
   + 如果分支中存在无法自动解决的合并冲突，则可以在 CodeCommit 控制台中解决这些冲突，也可以使用本地 Git 客户端合并分支，然后推送合并。有关更多信息，请参阅 [解决 AWS CodeCommit 存储库中的拉取请求中的冲突](how-to-resolve-conflict-pull-request.md)。
**注意**  
您始终可以在本地存储库中使用 **git merge** 命令并推送更改以手动合并分支，包括拉取请求分支。

有关更多信息，请参阅[使用拉取请求](pull-requests.md)和[使用审批规则模板](approval-rule-templates.md)。

## 第 5 步：清理
<a name="getting-started-cc-clean-up"></a>

如果您不再需要 CodeCommit 存储库，则应删除您在本练习中使用的 CodeCommit 存储库和其他资源，这样就不会继续向您收取存储空间费用。

**重要**  
并且无法撤消。删除该存储库后，您就无法再将其克隆到任何本地存储库或共享存储库，也无法再从任何本地存储库或共享存储库向其推送数据、从其拉取数据或执行任何 Git 操作。  
如果您为存储库配置了通知，则删除存储库也会删除为存储库创建的 Amazon CloudWatch Events 规则。但不会删除用作该规则目标的 Amazon SNS 主题。  
如果为存储库配置了触发器，则删除存储库不会删除您配置为这些触发器目标的 Amazon SNS 主题或 Lambda 函数。如果不需要这些资源，请务必将其删除。有关更多信息，请参阅 [从存储库中删除触发器](how-to-notify-delete.md)。

**删除 CodeCommit 存储库**

1. 在 [https://console.aws.amazon.com/codesuite/codemmit](https://console.aws.amazon.com/codesuite/codecommit/home) /home 打开 CodeCommit 控制台。

1. 在**存储库**中，选择要删除的存储库。如果您遵循了本主题中的命名约定，它将命名为 **MyDemoRepo**。

1. 在导航窗格中，选择**设置**。

1. 在 **Settings** 页面上的 **Delete repository** 中，选择 **Delete repository**。

1. 键入 **delete**，然后选择**删除**。存储库将被永久删除。

## 步骤 6：后续步骤
<a name="getting-started-cc-next"></a>

既然您已经熟悉了它 CodeCommit 及其一些功能，可以考虑执行以下操作：
+ 如果您不熟悉 Git， CodeCommit 或者想查看使用 Git 的示例 CodeCommit，请继续阅读本[Git 入门和 CodeCommit](getting-started.md)教程。
+ 如果您想与 CodeCommit 仓库中的其他人合作，请参阅[共享存储库](how-to-share-repository.md)。（如果您需要与其他 Amazon Web Services 账户中的用户共享您的存储库，请参阅[使用角色配置对 AWS CodeCommit 仓库的跨账户访问权限](cross-account.md)。）
+ 如果要将存储库迁移到 CodeCommit，请按照中的步骤操作[迁移到 CodeCommit](how-to-migrate-repository.md)。
+ 如果需要将存储库添加到持续交付管道，请按照[简单管道演练](https://docs.aws.amazon.com/codepipeline/latest/userguide/getting-started-cc.html)中的步骤操作。
+ 如果需要了解有关与 CodeCommit 集成的产品和服务的更多信息，包括来自社区的示例，请参阅[产品和服务集成](integrations.md)。