AWS CodeCommit 不再向新客户提供。 AWS CodeCommit 的现有客户可以继续正常使用该服务。了解更多
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
什么是 AWS CodeCommit?
AWS CodeCommit 是一项由 Amazon Web Services 托管的版本控制服务,可用于私下存储和管理云中的资产(例如文档、源代码和二进制文件)。有关定价的信息 CodeCommit,请参阅定价。
注意
CodeCommit 在许多合规计划的范围内。有关合规工作的详细信息 AWS 以及合规工作,请参阅合规性计划范围内的AWS 服务
这是一项符合 HIPAA 要求的服务。有关 AWS《1996 年美国健康保险流通与责任法案》(HIPAA) 以及使用 AWS 服务处理、存储和传输受保护的健康信息 (PHI) 的更多信息,请参阅 HIPAA 概述。
有关该服务以及规定安全管理最佳实践的安全管理标准 ISO 27001 的信息,请参阅 ISO 27001 概述
有关此服务和支付卡行业数据安全标准 (PCI DSS) 的信息,请参阅 PCI DSS 概述
有关此服务和美国联邦信息处理标准 (FIPS) 第 140-2 版美国政府标准(其中规定了对保护敏感信息的加密模块的安全要求)的信息,请参阅美国联邦信息处理标准 (FIPS) 第 140-2 版概览
主题
简介 CodeCommit
CodeCommit 是一项安全、高度可扩展的托管源代码控制服务,用于托管私有 Git 存储库。 CodeCommit 您无需管理自己的源代码控制系统或担心扩展其基础架构。你可以用它 CodeCommit 来存储从代码到二进制文件的所有内容。它支持 Git 的标准功能,可与您现有的基于 Git 的工具无缝协作。
借助 CodeCommit,您可以:
-
受益于由托管的完全托管的服务 AWS。 CodeCommit 提供高服务可用性和耐用性,并消除了管理您自己的硬件和软件的管理开销。没有需要预置和扩展的硬件,也没有需要安装、配置和更新的服务器软件。
-
安全地存储您的代码。 CodeCommit 存储库在静态和传输中都经过加密。
-
协作处理代码。 CodeCommit 存储库支持拉取请求,用户可以在合并到分支之前查看和评论彼此的代码更改;自动向用户发送有关拉取请求和评论的电子邮件的通知;以及更多。
-
轻松扩展您的版本控制项目。 CodeCommit 存储库可向上扩展以满足您的发展需要。该服务能够处理具有大量文件或分支、大尺寸文件及冗长版本历史记录的存储库。
-
随时随地存放任何东西。 CodeCommit 对存储库的大小或可以存储的文件类型没有限制。
-
与其他 AWS 和第三方服务集成。 CodeCommit 让您的存储库靠近 AWS 云端的其他生产资源,这有助于提高开发生命周期的速度和频率。它与 IAM 集成,可以与其他 AWS 服务一起使用,也可以与其他存储库并行使用。有关更多信息,请参阅 产品和服务与 AWS CodeCommit。
-
轻松地从远程存储库迁移文件。您可以 CodeCommit 从任何基于 Git 的存储库迁移到。
-
使用你已经知道的 Git 工具。 CodeCommit 支持 Git 命令以及它自己的 AWS CLI 命令和 APIs。
CodeCommit、Git,然后根据自己的需求选择合适的 AWS 服务
作为一项基于 Git 的服务, CodeCommit 非常适合大多数版本控制需求。未对文件大小、文件类型和存储库大小施加任何限制。但是,Git 有一些固有的限制,这些限制会对某些类型的操作的性能产生负面影响,特别是随着时间的推移。您可以避免将 CodeCommit 存储库性能用于其他 AWS 服务更适合该任务的用例,从而避免存储库性能的潜在降低。您还可以为复杂的存储库优化 Git 性能。以下是一些用例,在这些用例中 CodeCommit,Git 可能不是您的最佳解决方案,或者您可能需要采取其他步骤来优化 Git。
使用场景 | 描述 | 要考虑的其他服务 |
---|---|---|
经常更改的大文件 | Git 使用增量编码来存储各个文件版本之间的差异。例如,如果您更改文档中的几个单词,Git 将只存储这些已更改的单词。如果您的文件或对象的大小超过 5 MB,并且进行了许多更改,则 Git 可能需要重新构造一个很大的增量差异链。随着时间的推移,这可能会消耗越来越多的本地计算机和本地计算机上的计算资源。 CodeCommit | 要对大型文件进行版本控制,请考虑使用 Amazon Simple Storage Service (Amazon S3)。有关更多信息,请参阅《Amazon Simple Storage Service 用户指南》中的使用版本控制。 |
数据库 | 随着时间的推移,Git 存储库会变得越来越大。由于版本控制将跟踪所有更改,因此,任何更改都将增大您的存储库。换句话说,在提交数据时,即使删除了提交中的数据,也会将数据添加到存储库中。随着时间的推移,需要处理和传输的数据会越来越多,Git 的速度将变慢。这对数据库使用案例尤其不利。Git 不是作为数据库设计的。 | 要创建和使用具有一致性能的数据库(而不管大小如何),请考虑使用 Amazon DynamoDB。有关更多信息,请参阅 Amazon DynamoDB 入门指南。 |
审核跟踪 | 通常,审核跟踪会保持很长一段时间,并且由系统进程以非常频繁的节奏连续生成。Git 旨在安全地存储由开发人员组在开发周期中生成的源代码。快速更改的存储库会不断存储以编程方式生成的系统更改,但性能会随着时间的推移而降低。 | 要存储审计跟踪记录,请考虑使用 Amazon Simple Storage Service (Amazon S3)。 要根据您的用例来审计 AWS 活动,请考虑使用AWS CloudTrailAWS Config |
备份 | Git 是为开发人员编写的版本源代码而设计的。作为备份策略,您可以将提交推送到两个远程 CodeCommit 存储库,包括一个存储库。但是,Git 并不是设计用来处理计算机文件系统、数据库转储或类似备份内容的备份。这样做可能会降低系统速度,增加克隆和推送存储库所需的时间。 | 有关备份到 AWS 云端的信息,请参阅 Backup & Restor |
大量分支或引用 | 当 Git 客户端推送或提取存储库数据时,即使您只对单个分支感兴趣,远程服务器也必须发送所有分支和引用(如标签)。如果您有数千个分支和引用,这可能需要一些时间来处理和发送(打包协商)并导致明显缓慢的存储库响应。您拥有的分支和标签越多,此过程所需的时间就越长。我们建议使用 CodeCommit,但要删除不再需要的分支和标签。 | 要分析 CodeCommit 存储库中的参考文献数量以确定哪些可能不需要引用,可以使用以下命令之一:
|
如何运 CodeCommit 作?
CodeCommit 基于 Git 的存储库的用户很熟悉,但即使是那些不熟悉的存储库也应该会发现过渡到 CodeCommit 相对简单。 CodeCommit 提供了一个控制台,便于创建存储库以及列出现有存储库和分支。只需几个简单的步骤,用户就可以找到有关存储库的信息并将其克隆到他们的计算机上,创建一个本地存储库,在那里他们可以进行更改,然后将其推送到 CodeCommit 存储库。用户可以在本地计算机上使用命令行或使用基于 GUI 的编辑器执行作业。
下图显示了如何使用开发计算机、 AWS CLI 或 CodeCommit控制台以及 CodeCommit 服务来创建和管理存储库:

-
使用 AWS CLI 或 CodeCommit 控制台创建 CodeCommit 存储库。
-
在开发计算机上,使用 Git 运行git clone,指定 CodeCommit 存储库的名称。这将创建一个连接到存储库的本地 CodeCommit 存储库。
-
在您的开发计算机上使用本地存储库修改(添加、编辑和删除)文件,然后运行 git add 将修改后的文件暂存在本地。运行git commit以在本地提交文件,然后运行将文件发送git push到 CodeCommit 存储库。
-
下载其他用户的更改。运行git pull以将 CodeCommit 存储库中的文件与本地存储库同步。这可确保您使用最新版本的文件。
您可以使用 AWS CLI 或 CodeCommit 控制台来跟踪和管理您的仓库。
与 Amazon S3 中的文件版本控制有何 CodeCommit 不同?
CodeCommit 针对团队软件开发进行了优化。它能够管理多个文件的更改批次(当其他开发人员也在进行更改时,可能会发生这种情况)。Amazon S3 版本控制支持恢复以往版本的文件,但它不侧重于软件开发团队需要的协作文件跟踪功能。
我该如何开始 CodeCommit?
首先,请执行 CodeCommit以下操作:
哪里可以找到有关 Git 的更多信息?
如果您还不知道它,应该先了解如何使用 Git。下面是一些有用的资源:
-
Pro Git
- Pro Git 图书的在线版本。作者是 Scott Chacon。由 Apress 出版。 -
Git Immersion
,这是一场 try-it-yourself导览游,带你了解使用 Git 的基础知识。由 Neo Innovation, Inc. 发布。 -
Git 参考
- 一个在线快速参考,也可用作更深入的 Git 教程。由 GitHub团队发布。 -
Git 备忘单
- 包含基本 Git 命令的语法。由 GitHub 团队发布。 -
Git 袖珍指南
。作者是 Richard E. Silverman。由 O'Reilly Media, Inc. 发布。