在 AWS CloudShell 中使用 CodeCommit
CodeCommit 是一种用于托管私有 Git 存储库的安全、高度可扩展的托管源代码控制服务。利用 AWS CloudShell,您可以使用 git-remote-codecommit 实用程序在命令行上处理 CodeCommit。该实用程序已预先安装在 AWS CloudShell 计算环境中,提供了一种从 CodeCommit 存储库中推送和提取代码的简单方法。该实用程序通过扩展 Git 来实现此目的。有关更多信息,请参阅 AWS CodeCommit 用户指南。
本教程描述如何创建 CodeCommit 存储库并将其克隆到您的 AWS CloudShell 计算环境。您还将学习如何将文件暂存并提交到克隆的存储库,然后再将其推送到在 AWS 云端托管的远程存储库。
先决条件
有关 IAM 用户使用 AWS CloudShell 所需的权限的信息,请参阅入门教程中的先决条件一节。您还需要 IAM 权限 才能使用 CodeCommit。
此外,在开始之前,请确保具备以下条件:
-
对 Git 命令和版本控制概念的基本了解
-
Shell 主目录中的文件,可以提交到本地和远程存储库。在本教程中,它被称为
my-git-file
。
步骤 1:在 CodeCommit 中创建存储库
此步骤介绍如何创建和克隆 CodeCommit 存储库。
-
在 CloudShell 命令行界面中,输入以下
codecommit
命令以创建名为MyDemoRepo
的 CodeCommit 存储库。aws codecommit create-repository --repository-name MyDemoRepo --repository-description "My demonstration repository"
如果成功创建了存储库,则命令行会显示服务的响应。
{ "repositoryMetadata": { "accountId": "111122223333", "repositoryId": "0dcd29a8-941a-1111-1111-11111111111a", "repositoryName": "MyDemoRepo", "repositoryDescription": "My demonstration repository", "lastModifiedDate": "2020-11-23T20:38:23.068000+00:00", "creationDate": "2020-11-23T20:38:23.068000+00:00", "cloneUrlHttp": "https://git-codecommit.eu-west-1.amazonaws.com/v1/repos/MyDemoRepo", "cloneUrlSsh": "ssh://git-codecommit.eu-west-1.amazonaws.com/v1/repos/MyDemoRepo", "Arn": "arn:aws:codecommit:eu-west-1:111111111111:MyDemoRepo" } )
-
使用命令行,为本地存储库创建新目录,并将其设为工作目录。
mkdir my-shell-repo cd my-shell-repo
-
要克隆远程存储库,请使用
git clone
命令。(当您使用 git-remote-codecommit 时,请使用 HTTPS (GRC) URL 样式)。git clone codecommit::eu-west-1://MyDemoRepo
如果成功克隆了存储库,则命令行会显示服务的响应。
Cloning into 'MyDemoRepo'... warning: You appear to have cloned an empty repository.
-
要导航到克隆存储库,请使用
cd
命令。cd MyDemoRepo
第 2 步:在将文件推送到 CodeCommit 存储库之前,暂存并提交该文件
此步骤介绍在将文件推送到 CodeCommit 存储库之前,如何暂存和提交该文件。
-
使用 Vim 编辑器或 AWS CloudShell 的文件上传功能将名为
my-git-file
的文件添加到MyDemoRepo
文件夹。要了解如何将两者结合使用,请参阅入门教程。 -
要将文件暂存到存储库中,请运行 git
add
命令。git add my-git-file
-
要检查文件是否已暂存并准备提交,请运行 git
status
命令。git status
my-git-file
作为新文件列出并以绿色文本显示,表示它已准备好提交。 -
将此版本的暂存文件提交到存储库。
git commit -m "first commit to repo"
注意
如果系统要求您提供配置信息以完成提交,请使用以下格式。
$ git config --global user.name "Jane Doe" $ git config --global user.email janedoe@example.com
-
要将远程存储库与在本地存储库中所做的更改同步,请将更改推送到上游分支。
git push