开始使用 AWS CodeCommit - AWS CodeCommit

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

开始使用 AWS CodeCommit

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

如果您要将现有代码迁移到 CodeCommit,请参阅迁移到 AWS CodeCommit

如果您不熟悉 Git,也可以考虑完成 Git 和 CodeCommit 入门。完成这些教程后,您应当已具备足够的实践知识,可以开始在自己的项目和团队环境中使用 CodeCommit。

CodeCommit 控制台在可折叠面板中包含了有用的信息,您可以通过信息图标 ( ) 或页面上的任何信息链接打开这些信息。您可以随时关闭此面板。


            在控制台中查看其他指导

CodeCommit 控制台还提供了一种方法,可以快速搜索存储库、构建项目、部署应用程序和管道等资源。选择转到资源或按下 / 键,然后键入资源的名称。任何匹配结果都会显示在列表中。搜索不区分大小写。您只能看到您有权查看的资源。有关更多信息,请参阅在控制台中查看资源

先决条件

在开始之前,必须完成先决条件和设置过程,包括:

  • 向 IAM 用户分配权限。

  • 在您用来完成本教程的本地计算机上为 HTTPS 或 SSH 连接设置凭证管理。

  • 如果您想要使用命令行或终端完成所有操作,包括创建存储库,则还需要配置 AWS CLI。

步骤 1:创建 CodeCommit 存储库

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

注意

根据您的使用情况,您可能需要为创建或访问存储库付费。有关更多信息,请参阅 CodeCommit 产品信息页面上的定价

创建 CodeCommit 存储库
  1. 打开 CodeCommit 控制台:https://console.aws.amazon.com/codesuite/codecommit/home

  2. 使用区域选择器选择要在其中创建存储库的 AWS 区域。有关更多信息,请参阅区域和 Git 连接端点

  3. 存储库页面上,选择创建存储库

  4. Create repository (创建存储库) 页面上的 Repository name (存储库名称)中,输入存储库的名称(例如,MyDemoRepo)。

    注意

    存储库名称区分大小写,且不能超过 100 个字符。有关更多信息,请参阅限制

  5. (可选)在描述中,输入描述(例如,My demonstration repository)。这可以帮助您及其他用户了解存储库的用途。

  6. (可选)选择添加标签,向您的存储库添加一个或多个存储库标签(自定义属性标签,可帮助您组织和管理您的 AWS 资源)。有关更多信息,请参阅在 AWS CodeCommit 中标记存储库

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

  8. (可选)如果此存储库将包含 Java 或 Python 代码,并且您希望使用 CodeGuru Reviewer 对其进行分析,请选择启用适用于 Java 和 Python 的 Amazon CodeGuru Reviewer。CodeGuru Reviewer 使用多个机器学习模型来查找代码缺陷,并自动在拉取请求中提供改进和修复建议。有关更多信息,请参阅《Amazon CodeGuru Reviewer 用户指南》。

  9. 选择创建


                从控制台创建存储库
注意

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

当存储库打开后,您可以查看有关如何直接从 CodeCommit 控制台添加文件的信息。

步骤 2:向您的存储库添加文件

可以通过以下方法向您的存储库添加文件:

  • 在 CodeCommit 控制台中创建文件。如果您在控制台中为存储库创建第一个文件,则系统会为您创建一个名为 main 的分支。此分支是存储库的默认分支。

  • 使用 CodeCommit 控制台从您的本地计算机上传文件。如果您从控制台为存储库上传第一个文件,则系统会为您创建一个名为 main 的分支。此分支是存储库的默认分支。

  • 使用 Git 客户端将存储库克隆到您的本地计算机,然后添加文件并将文件提交和推送到 CodeCommit 存储库。在 Git 中执行第一个提交时,系统会为您创建一个分支,并且会将其设置为存储库的默认分支。分支的名称是 Git 客户端的默认选项。请考虑将 Git 客户端配置为使用 main 作为初始分支的名称。

注意

您可以随时创建分支并更改存储库的默认分支。有关更多信息,请参阅使用 AWS CodeCommit 存储库中的分支

最简单的入门方法是打开 CodeCommit 控制台并添加文件。这样,您还可以为存储库创建一个名为 main 的默认分支。有关如何使用 AWS CLI 向存储库添加文件和创建第一个提交的说明,请参阅使用 AWS CLI 为存储库创建第一个提交

向存储库添加文件
  1. 在存储库的导航栏中,选择代码

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

  3. 要添加文件,请执行以下操作:

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

    2. 文件名中,为文件输入名称。在代码编辑器中,输入文件的代码。

    3. 作者姓名中,输入您希望显示给其他存储库用户的姓名。

    4. 电子邮件地址中,输入电子邮件地址。

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

    6. 选择提交更改

    要上传文件,请执行以下操作:

    • 如果正在上传文件,请选择要上传的文件。

      
                                在 CodeCommit 控制台中上传文件的视图
    • 作者姓名中,输入您希望显示给其他存储库用户的姓名。

    • 电子邮件地址中,输入电子邮件地址。

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

    • 选择提交更改

有关更多信息,请参阅使用 AWS CodeCommit 存储库中的文件

要使用 Git 客户端克隆存储库,请在您的本地计算机上安装 Git,然后克隆 CodeCommit 存储库。向本地存储库添加一些文件,并将其推送到 CodeCommit 存储库。有关深入介绍,请尝试 Git 和 CodeCommit 入门。如果您熟悉 Git,但不确定如何对 CodeCommit 存储库执行此操作,则可查看创建提交步骤 2:创建本地存储库连接存储库中的示例和说明。

向 CodeCommit 存储库添加一些文件后,您可以在控制台中查看它们。

步骤 3:浏览存储库的内容

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

浏览存储库
  1. 存储库中,选择“MyDemoRepo”。

  2. 页面显示了存储库的默认分支中的内容。要查看其他分支或查看特定标签处的代码,请从列表中选择要查看的分支或标签。在下面的屏幕截图中,视图设置为 main 分支。

    
                        浏览存储库的内容
  3. 要查看存储库中某个文件的内容,请从列表中选择该文件。要更改所显示代码的颜色,请选择设置图标。

    
                        查看文件的内容

    有关更多信息,请参阅浏览存储库中的文件

  4. 要浏览存储库的提交历史记录,请选择提交。控制台按时间倒序显示默认分支的提交历史记录。可以按作者、日期等查看提交详细信息。

    
                        控制台中的提交历史记录视图
  5. 要按分支Git 标签查看提交历史记录,请从列表中选择要查看的分支或标签。

  6. 要查看提交与其父项之间的差异,请选择缩写的提交 ID。您可以选择更改的显示方式,包括显示或隐藏空格更改,以及是以内联方式(统一视图)还是并排方式(拆分视图)查看更改。

    注意

    每当您更改用于查看代码和其他控制台设置的首选项时,都会将它们保存为浏览器 Cookie。有关更多信息,请参阅使用用户首选项

    
                        在统一视图中显示的更改,空格更改可见
  7. 要查看对提交的所有评论,请选择提交,然后滚动显示更改以便通过内联方式查看更改。您还可以添加自己的评论并回复他人发表的评论。

    有关更多信息,请参阅评论提交

  8. 要查看任意两个提交说明符(包括标签、分支和提交 ID)之间的差异,请在导航窗格中选择提交,然后选择比较提交

    
                        将提交与拆分视图中的分支的提示相比较

    有关更多信息,请参阅 浏览存储库的提交历史记录比较提交

  9. 提交中,选择提交可视化工具选项卡。

    
                        控制台中的存储库图形视图

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

  10. 要查看有关提交的更多详细信息,请选择其缩写的提交 ID。要呈现特定提交的图表,请在图表中选择该点。有关更多信息,请参阅查看存储库的提交历史记录图表

步骤 4:在拉取请求中进行创建和协作

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

重要

在创建拉取请求之前,必须先创建一个分支,其中包含要查看的代码更改。有关更多信息,请参阅创建分支

在拉取请求中进行创建和协作
  1. 在导航窗格中,选择拉取请求

  2. 拉取请求中,选择创建拉取请求

    提示

    您也可以从分支代码创建拉取请求。

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

  3. 审核合并详细信息和更改,以确认拉取请求包含要审核的更改和提交。如果是这样,请在标题中输入此审核的标题。此标题显示在存储库的拉取请求列表中。在描述中,输入有关此审核的详细信息及对审核者有用的任何其他信息。选择创建

    
                        创建拉取请求
  4. 拉取请求将显示在存储库的拉取请求列表中。您可以筛选视图,使其只显示打开的请求、关闭的请求、您创建的请求等。

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

  6. Rule name (规则名称) 中,为规则指定一个描述性名称。例如,如果您希望拉取请求在合并之前,必须由两人对其进行审批,那么可以将该规则命名为 Require two approvals before merge。在 Number of approvals needed (需要的审批数量) 中,输入所需的数量 2。默认 为 1。选择提交。要了解有关审批规则和审批池成员的更多信息,请参阅为拉取请求创建审批规则

    
                        为拉取请求创建审批规则
  7. 如果已为存储库配置通知并选择向用户通知拉取请求事件,用户会收到有关新拉取请求的电子邮件。用户可以查看针对特定代码行、文件和拉取请求自身的更改和评论。他们还可以使用文字和表情符号回复评论。如有必要,可以将更改推送到拉取请求分支,此操作会更新拉取请求。

  8. 如果您对请求中所做的更改感到满意,请选择 Approve (批准)。即使该拉取请求未配置审批规则,您也可以选择批准拉取请求。这样可清楚地记录您已审核拉取请求并批准更改。如果您改变主意,还可以选择撤销批准。

    
                        查看拉取请求的审批
    注意

    如果拉取请求由您创建,那么您无法批准该请求。

  9. 当您对在拉取请求中审核并同意的所有代码更改感到满意后,执行以下操作之一:

    • 如果要关闭拉取请求而不合并分支,请选择 Close pull request (关闭拉取请求)

    • 如果要合并分支并关闭拉取请求,请选择 Merge (合并)。您可以在代码的可用合并策略之间进行选择,这些策略取决于源和目标分支之间的差异,以及在合并完成后是否自动删除源分支。在进行选择后,请选择 Merge pull request (合并拉取请求) 以完成合并。

      
                                在 CodeCommit 控制台中显示合并的可用合并策略的拉取请求。
    • 如果分支中存在无法自动解决的合并冲突,您可以在 CodeCommit 控制台中解决,也可以使用本地 Git 客户端合并分支,然后推送合并。有关更多信息,请参阅解决 AWS CodeCommit 存储库中的拉取请求中的冲突

    注意

    您始终可以在本地存储库中使用 git merge 命令并推送更改以手动合并分支,包括拉取请求分支。

有关更多信息,请参阅 使用拉取请求使用审批规则模板

第 5 步:清理

如果您不再需要 CodeCommit 存储库,则应删除在本练习中使用的 CodeCommit 存储库和其他资源,以免继续为存储空间付费。

重要

并且无法撤消。删除该存储库后,您就无法再将其克隆到任何本地存储库或共享存储库,也无法再从任何本地存储库或共享存储库向其推送数据、从其拉取数据或执行任何 Git 操作。

如果为存储库配置了通知,则删除存储库还会删除为该存储库创建的 Amazon CloudWatch Events 规则,但不会删除用作该规则目标的 Amazon SNS 主题。

如果为存储库配置了触发器,则删除存储库不会删除您配置为这些触发器目标的 Amazon SNS 主题或 Lambda 函数。如果不需要这些资源,请务必将其删除。有关更多信息,请参阅从存储库中删除触发器

删除 CodeCommit 存储库
  1. 打开 CodeCommit 控制台:https://console.aws.amazon.com/codesuite/codecommit/home

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

  3. 在导航窗格中,选择设置

  4. Settings 页面上的 Delete repository 中,选择 Delete repository

  5. 键入 delete,然后选择删除。存储库将被永久删除。

步骤 6:后续步骤

现在您已经熟悉了 CodeCommit 及其部分功能,请考虑执行以下操作: