AWS CodeCommit features

Why CodeCommit?

AWS CodeCommit is a highly scalable, managed source control service that hosts private Git repositories. You create a repository to store your code. There is no hardware to provision and scale or software to install, configure, and operate. CodeCommit helps you collaborate on code with pull requests, branching, and merging. You can implement workflows that include code reviews and feedback by default and control who can make changes to specific branches.

Page Topics

General

General

CodeCommit is designed for collaborative software development. You can easily commit, branch, and merge your code, allowing you to easily maintain control of your team’s projects. CodeCommit also supports pull requests, which provide a mechanism to request code reviews and discuss code with collaborators. You can create a repository from the AWS Management Console, AWS Command Line Iinterface (AWS CLI), or AWS SDKs, and start working with the repository using Git.

You can transfer your files to and from CodeCommit using HTTPS or SSH, as you prefer. Your repositories are also automatically encrypted at rest through AWS Key Management Service (AWS KMS). You have the option to use an AWS managed key for this encryption, or create and use your own customer managed key.

CodeCommit uses AWS Identity and Access Management (IAM) to control and monitor who can access your data, as well as how, when, and where they can access it. CodeCommit also helps you monitor your repositories with AWS CloudTrail and AWS CloudWatch.

CodeCommit stores your repositories in Amazon Simple Storage Service (Amazon S3) and Amazon DynamoDB.  Your encrypted data is redundantly stored across multiple facilities. This architecture increases the availability and durability of your repository data.

CodeCommit allows you to create up to 5,000 repositories by default and additional repositories up to 25,000 by request. You can store and version any kind of file, including application assets such as images and libraries, alongside your code. It’s easy to create repositories when you need them, and delete them when you’re done.

You can use the console, AWS CLI, and AWS SDKs to manage your repositories. You can also use Git commands or Git graphical tools to interact with your repository source files. CodeCommit supports all Git commands and works with your existing Git tools. You can integrate with your development environment plugins or continuous integration/continuous delivery (CI/CD) systems.

You can now receive notifications for events impacting your repositories. Notifications will come in the form of Amazon Simple Notification Service (Amazon SNS) notifications. Each notification will include a status message as well as a link to the resources whose event generated that notification. Additionally, using CodeCommit repository triggers, you can send notifications and create HTTP webhooks with Amazon SNS or invoke AWS Lambda functions in response to the repository events you choose.