HTTPS 连接的设置步骤Amazon CodeCommitWindows 上的存储库有Amazon CLI凭证助手 - Amazon CodeCommit
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

HTTPS 连接的设置步骤Amazon CodeCommitWindows 上的存储库有Amazon CLI凭证助手

在首次连接到 Amazon CodeCommit 之前,您必须先完成初始配置步骤。对于大多数用户来说,可通过执行适用于使用 Git 凭证的 HTTPS 用户中的步骤来轻松完成这一过程。但是,如果要使用根账户、联合访问或临时凭证连接 CodeCommit,您可以使用 Amazon CLI 中包含的凭证辅助程序。

注意

尽管凭证辅助程序是支持使用联合访问、身份提供程序或临时凭证连接到 CodeCommit 的方法,但推荐的方法是安装和使用 git-remote-codecommit 实用程序。有关更多信息,请参阅HTTPS 连接的设置步骤Amazon CodeCommit和git-remote-codecommit

本主题将引导您完成安装步骤Amazon CLI,设置您的计算机然后Amazon个人资料,连接到CodeCommit存储库,然后将该存储库克隆到您的计算机上,也称为创建本地存储库。如果您刚刚接触 Git,我们建议您查看我在哪里可以了解有关 Git 的更多信息?中的信息。

步骤 1:的初始配置CodeCommit

按照以下步骤设置亚马逊云科技账户,创建和配置 IAM 用户,然后安装Amazon CLI。Amazon CLI 包含一个凭证辅助程序,您需要对其进行配置,以便通过 HTTPS 方式连接 CodeCommit 存储库。

创建和配置用于访问的 IAM 用户CodeCommit
  1. 要创建亚马逊云科技账户,请前往http://aws.amazon.com然后选择注册

  2. 在您的亚马逊云科技账户中创建 IAM 用户或使用现有用户。确保您拥有与该 IAM 用户关联的访问密钥 ID 和私有访问密钥。有关更多信息,请参阅在您的亚马逊云科技账户中创建 IAM 用户

    注意

    CodeCommit 需要使用 Amazon Key Management Service。如果您使用的是现有的 IAM 用户,请确保该用户没有任何策略明确拒绝Amazon KMS需要执行的操作CodeCommit。有关更多信息,请参阅Amazon KMS和加密

  3. 登录Amazon Web Services Management Console,然后通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/

  4. 在 IAM 控制台的导航窗格中,选择用户,然后选择要为其配置的 IAM 用户CodeCommit访问。

  5. Permissions 选项卡上,选择 Add Permissions

  6. Grant permissions (授予权限) 中,选择 Attach existing policies directly (直接附加现有策略)

  7. 从策略列表中选择 AWSCodeCommitPowerUser 或用于 CodeCommit 访问的其他托管策略。有关更多信息,请参阅Amazon适用于 CodeCommit 的托管策略

    选择要附加的策略后,选择下一页:回顾查看要附加到 IAM 用户的策略列表。如果列表正确,选择 Add permissions

    有关 CodeCommit 管理的策略以及与其他组和用户共享访问存储库的更多信息,请参阅共享存储库Amazon CodeCommit 的身份验证和访问控制

安装和配置 Amazon CLI
  1. 在本地计算机上,下载并安装 Amazon CLI。这是从命令行与 CodeCommit 进行交互的前提条件。我们建议你安装Amazon CLI版本 2。这是最新的主要版本Amazon CLI并支持所有最新功能。这是唯一的版本Amazon CLI支持使用根账户、联合访问权限或临时证书git-remote-codecommit

    有关更多信息,请参阅使用 Amazon 命令行界面进行设置

    注意

    CodeCommit仅适用于Amazon CLI版本 1.7.38 及更高版本。作为最佳做法,请安装 Amazon CLI 或将其升级到可用的最新版本。要确定您安装的 Amazon CLI 的版本,请运行 aws --version 命令。

    要将旧版本的 Amazon CLI 升级到最新版本,请参阅安装 Amazon Command Line Interface

  2. 运行此命令以验证CodeCommit的命令Amazon CLI已安装。

    aws codecommit help

    此命令返回一个列表CodeCommit命令。

  3. 配置Amazon CLI使用配置文件使用configure命令,如下所示:。

    aws configure

    出现提示时,指定Amazon访问密钥和Amazon要与一起使用的 IAM 用户的私有访问密钥CodeCommit。另外,请务必指定Amazon Web Services 区域存储库存在的地方,例如us-east-2。系统提示指定默认输出格式时,指定 json。例如,如果您正在为 IAM 用户配置个人资料:

    AWS Access Key ID [None]: Type your IAM user Amazon access key ID here, and then press Enter AWS Secret Access Key [None]: Type your IAM user Amazon secret access key here, and then press Enter Default region name [None]: Type a supported region for CodeCommit here, and then press Enter Default output format [None]: Type json here, and then press Enter

    有关创建和配置相关配置文件以与 Amazon CLI 配合使用的详细信息,请参阅以下内容:

    连接到存储库或其他存储库中的资源Amazon Web Services 区域,您必须重新配置Amazon CLI使用默认的区域名称。CodeCommit 支持的默认区域名称包括:

    • us-east-2

    • us-east-1

    • eu-west-1

    • us-west-2

    • ap-northeast-1

    • ap-southeast-1

    • ap-southeast-2

    • ap-southeast-3

    • me-central-1

    • eu-central-1

    • ap-northeast-2

    • sa-east-1

    • us-west-1

    • eu-west-2

    • ap-south-1

    • ap-south-1

    • ca-central-1

    • us-gov-west-1

    • us-gov-east-1

    • eu-north-1

    • ap-east-1

    • me-south-1

    • cn-north-1

    • cn-northwest-1

    • eu-south-1

    • ap-northeast-3

    • af-south-1

    • il-central-1

    有关 CodeCommit 和 Amazon Web Services 区域 的更多信息,请参阅 地区和 Git 连接终端节点。有关 IAM、访问密钥和密钥的更多信息,请参阅如何获得证书?管理 IAM 用户的访问密钥。有关 Amazon CLI 和配置文件的更多信息,请参阅命名配置文件

步骤 2:安装 Git

使用中的文件、提交和其他信息CodeCommit存储库,则必须在本地计算机上安装 Git。CodeCommit 支持 Git 1.7.9 以及更高版本。Git 版本 2.28 支持为初始提交配置分支名称。我们建议使用最新版本的 Git。

要安装 Git,我们推荐以下网站Windows 版 Git。如果您使用此链接安装 Git,则可以接受除以下设置之外的所有安装默认设置:

注意

Git 是一个不断发展、定期更新的平台。有时,功能上的更改可能会影响到它与 CodeCommit 协作的方式。如果遇到 Git 和 CodeCommit 特定版本的问题,请参阅故障排除中的信息。

步骤 3:设置凭证助手

Amazon CLI 包含一个可供您配合 CodeCommit 使用的 Git 凭证辅助程序。Git 凭证助手需要Amazon 凭证配置文件,它存储 IAM 用户的副本Amazon访问密钥 ID 和Amazon私有访问密钥(以及默认密钥)Amazon Web Services 区域名称和默认输出格式)。Git 凭证助手使用此信息自动进行身份验证CodeCommit所以你不必在每次使用 Git 进行交互时都输入这些信息CodeCommit。

  1. 打开命令提示符并使用 Git 运行git config,指定 Git 凭证助手的用法Amazon凭据配置文件,它允许 Git 凭证助手发送存储库的路径:

    git config --global credential.helper "!aws codecommit credential-helper $@" git config --global credential.UseHttpPath true

    Git 凭证辅助程序向 .gitconfig 文件写入以下内容:

    [credential] helper = !aws codecommit credential-helper $@ UseHttpPath = true
    重要
    • 如果您使用的是 Bash 仿真器而不是 Windows 命令行,则必须使用单引号而不是双引号。

    • 凭证助手使用默认的Amazon个人资料或亚马逊 EC2 实例角色。如果您已创建要使用的 Amazon 凭证配置文件,例如 CodeCommitProfile,可以按照如下方式修改命令来使用它:

      git config --global credential.helper "!aws codecommit credential-helper --profile CodeCommitProfile $@"

      这将向 .gitconfig 文件中写入以下内容:

      [credential] helper = !aws codecommit credential-helper --profile=CodeCommitProfile $@ UseHttpPath = true
    • 如果您的配置文件名称包含空格,则在运行此命令后,必须编辑 .gitconfig 文件以使用单引号 (') 将此命令引起来。否则,凭证辅助程序将不起作用。

    • 如果您的 Windows 版 Git 安装包含 Git Credential Manager 实用程序,则在前几次连接尝试后,您会看到 403 错误或向 Credential Manager 实用程序提供凭证的提示。解决该问题的最可靠的方法是卸载并重新安装 Windows 版 Git,安装时不要选中 Git Credential Manager 实用程序选项,因为它与 CodeCommit 不兼容。若要保留 Git Credential Manager 实用程序,您必须执行额外的配置步骤来使用 CodeCommit,这包括手动修改 .gitconfig 文件,以指定在连接 CodeCommit 时使用 Amazon CodeCommit 的凭证辅助程序。从 Credential Manager 实用程序(可在“控制面板”中找到该实用程序)中删除任何已存储的凭证。删除所有已存储的凭证后,向 .gitconfig 文件中添加以下内容并将其保存,然后在新的命令提示符窗口中重试连接:

      [credential "https://git-codecommit.us-east-2.amazonaws.com"] helper = !aws codecommit credential-helper $@ UseHttpPath = true [credential "https://git-codecommit.us-east-1.amazonaws.com"] helper = !aws codecommit credential-helper $@ UseHttpPath = true

      您可能还必须先通过指定 --system 而非 --global--local 来重新配置 git config 设置,之后所有连接才能正常工作。

    • 如果您想在同一台本地计算机上使用不同的 IAM 用户CodeCommit,你应该指定 git config --local而不是git config --global,然后运行每个的配置Amazon凭证资料。

  2. 运行 git config --global --edit 验证上面的值是否已写入用户配置文件的 .gitconfig 文件(默认为 %HOME%\.gitconfigdrive:\Users\UserName\.gitconfig)。如果成功,您应该能够看到前面的值(以及 Git 全局配置文件中已有的值)。要退出,通常需要键入 :q,然后按 Enter。

步骤 4:连接到CodeCommit控制台并克隆存储库

如果管理员已将 CodeCommit 存储库的名称和连接详细信息发送给您,您可以跳过该步骤并直接克隆存储库。

连接 CodeCommit 存储库
  1. 打开CodeCommit控制台位于https://console.aws.amazon.com/codesuite/codecommit/home

  2. 在区域选择器中,选择Amazon Web Services 区域存储库是在哪里创建的。存储库特定于Amazon Web Services 区域。有关更多信息,请参阅地区和 Git 连接终端节点

  3. 从列表中找到您要连接的存储库并选择此存储库。选择 Clone URL (克隆 URL),然后选择克隆或连接到存储库时要使用的协议。此时将复制克隆 URL。

    • 如果您对 IAM 用户使用 Git 凭证或随附的凭证助手,请复制 HTTPS 网址Amazon CLI。

    • 如果您在本地计算机上使用 git-remote-codecommit 命令,请复制 HTTPS (GRC) URL。

    • 如果您与 IAM 用户一起使用 SSH 公钥/私钥对,请复制 SSH 网址。

    注意

    如果你看到欢迎页面而不是存储库列表,则没有与您的存储库相关联的存储库Amazon账户在Amazon Web Services 区域你在哪里登录。要创建存储库,请参阅创建一个Amazon CodeCommit知识库或按照入门 Git CodeCommit教程中的步骤进行操作。

  4. 打开命令提示符并运行git clone使用您复制的 HTTPS 网址的命令。这将在运行命令的目录的子目录中创建本地存储库。例如,克隆名为的存储库MyDemoRepo到名为的本地存储库my-demo-repo在中国(北京)区域:

    git clone https://git-codecommit.cn-north-1.amazonaws.com.cn/v1/repos/MyDemoRepo my-demo-repo

    在某些版本的 Windows 上,您可能会看到一条弹出消息,要求您输入用户名和密码。这是 Windows 的内置凭证管理系统,但它与 Amazon CodeCommit 的凭证辅助程序不兼容。选择 Cancel (取消)

后续步骤

您已满足先决条件。按照中的步骤操作开始使用 CodeCommit 开始使用CodeCommit。