AWS CodeCommit
User Guide (API Version 2015-04-13)

The procedures in this guide support the new console design. If you choose to use the older version of the console, you will find many of the concepts and basic procedures in this guide still apply. To access help in the new console, choose the information icon.

What Is AWS CodeCommit?

AWS CodeCommit is a version control service hosted by Amazon Web Services that you can use to privately store and manage assets (such as documents, source code, and binary files) in the cloud. For information about pricing for AWS CodeCommit, see Pricing.


This is a HIPAA Eligible Service. For more information about AWS, U.S. Health Insurance Portability and Accountability Act of 1996 (HIPAA), and using AWS services to process, store, and transmit protected health information (PHI), see HIPAA Overview.

For information about this service and ISO 27001, a security management standard that specifies security management best practices, see ISO 27001 Overview.

For information about this service and the Federal Information Processing Standard (FIPS) Publication 140-2 US government standard that specifies the security requirements for cryptographic modules that protect sensitive information, see Federal Information Processing Standard (FIPS) 140-2 Overview and Git Connection Endpoints.

Introducing AWS CodeCommit

AWS CodeCommit is a secure, highly scalable, managed source control service that hosts private Git repositories. AWS CodeCommit eliminates the need for you to manage your own source control system or worry about scaling its infrastructure. You can use AWS CodeCommit to store anything from code to binaries. It supports the standard functionality of Git, so it works seamlessly with your existing Git-based tools.

With AWS CodeCommit, you can:

  • Benefit from a fully managed service hosted by AWS. AWS CodeCommit provides high service availability and durability and eliminates the administrative overhead of managing your own hardware and software. There is no hardware to provision and scale and no server software to install, configure, and update.

  • Store your code securely. AWS CodeCommit repositories are encrypted at rest as well as in transit.

  • Work collaboratively on code. AWS CodeCommit repositories support pull requests, where users can review and comment on each other's code changes before merging them to branches; notifications that automatically send emails to users about pull requests and comments; and more.

  • Easily scale your version control projects. AWS CodeCommit repositories can scale up to meet your development needs. The service can handle repositories with large numbers of files or branches, large file sizes, and lengthy revision histories.

  • Store anything, anytime. AWS CodeCommit has no limit on the size of your repositories or on the file types you can store.

  • Integrate with other AWS and third-party services. AWS CodeCommit keeps your repositories close to your other production resources in the AWS Cloud, which helps increase the speed and frequency of your development lifecycle. It is integrated with IAM and can be used with other AWS services and in parallel with other repositories. For more information, see Product and Service Integrations with AWS CodeCommit.

  • Easily migrate files from other remote repositories. You can migrate to AWS CodeCommit from any Git-based repository.

  • Use the Git tools you already know. AWS CodeCommit supports Git commands as well as its own AWS CLI commands and APIs.

How Does AWS CodeCommit Work?

AWS CodeCommit will seem familiar to users of Git-based repositories, but even those unfamiliar should find the transition to AWS CodeCommit relatively simple. AWS CodeCommit provides a console for the easy creation of repositories and the listing of existing repositories and branches. In a few simple steps, users can find information about a repository and clone it to their computer, creating a local repo where they can make changes and then push them to the AWS CodeCommit repository. Users can work from the command line on their local machines or use a GUI-based editor.

The following figure shows how you use your development machine, the AWS CLI or AWS CodeCommit console, and the AWS CodeCommit service to create and manage repositories:

        Typical AWS CodeCommit workflow
  1. Use the AWS CLI or the AWS CodeCommit console to create an AWS CodeCommit repository.

  2. From your development machine, use Git to run git clone, specifying the name of the AWS CodeCommit repository. This creates a local repo that connects to the AWS CodeCommit repository.

  3. Use the local repo on your development machine to modify (add, edit, and delete) files, and then run git add to stage the modified files locally. Run git commit to commit the files locally, and then run git push to send the files to the AWS CodeCommit repository.

  4. Download changes from other users. Run git pull to synchronize the files in the AWS CodeCommit repository with your local repo. This ensures you're working with the latest version of the files.

You can use the AWS CLI or the AWS CodeCommit console to track and manage your repositories.

How Is AWS CodeCommit Different from File Versioning in Amazon S3?

AWS CodeCommit is designed for team software development. It manages batches of changes across multiple files, which can occur in parallel with changes made by other developers. Amazon S3 versioning supports the recovery of past versions of files, but it's not focused on collaborative file tracking features that software development teams need.

How Do I Get Started with AWS CodeCommit?

To get started with AWS CodeCommit:

  1. Follow the steps in Setting Up to prepare your development machines.

  2. Follow the steps in one or more of the tutorials in Getting Started.

  3. Create version control projects in AWS CodeCommit or migrate version control projects to AWS CodeCommit.

Where Can I Learn More About Git?

If you don't know it already, you should learn how to use Git. Here are some helpful resources:

  • Pro Git, an online version of the Pro Git book. Written by Scott Chacon. Published by Apress.

  • Git Immersion, a try-it-yourself guided tour that walks you through the fundamentals of using Git. Published by Neo Innovation, Inc.

  • Git Reference, an online quick reference that can also be used as a more in-depth Git tutorial. Published by the GitHub team.

  • Git Cheat Sheet with basic Git command syntax. Published by the GitHub team.

  • Git Pocket Guide. Written by Richard E. Silverman. Published by O'Reilly Media, Inc.