How to create and use a CodeCommit GIT Repository on AWS

CodeCommit hosts Git-based repositories and is a fully managed service by AWS. Teams can use it to collaborate on code in a secure and highly scalable way. It helps us to eliminate the need of having our own self-hosted Source Code Management (SCM) system and manage it on our own.

Files in CodeCommit are encrypted at rest and in transit. It is a highly available fully managed AWS service that eliminates the need of having a self-hosted SCM system. CodeCommit supports all Git commands.

Pre-requisites

  1. AWS Account (Create if you don’t have one).
  2. IAM User with AWSCodeCommitPowerUser or equivalent  policy attached to it(Learn to create an IAM user on AWS)

What will we do?

  1. Login to AWS.
  2. Create a CodeCommit repository.
  3. Generate Git HTTPs credentials for the IAM user.
  4. Perform basic operations on the repository.
  5. Delete the repository.

Login to AWS

Click here to go to AWS Login Page.

When we hit the above link, we will see a web page as follows where we are required to log in using our login details.

Login page

Here is the main AWS management console you see when you login successfully to your account.

Main Dashboard

Create a CodeCommit repository

Click on services at the top left of the screen and search for CodeCommit in the search box, click on the CodeCommit result that you get.

Search CodeCommit

You will see the main dashboard of CodeCommit. Since I have not created any repository in the Paris region there are no results in the dashboard. Click on the "Create repository" button to create your first CodeCommit repository on AWS.

CodeCommit Dashboard

Give a name to the repository to be created and add a description to it which is optional. You may also add tags as I have added. Click on the "Create" button.

Create a repository

You will see that your repository has been created successfully. On the same screen, you will get steps to connect to the repository.

Repository page

When you click on the "Clone URL" button at the top right, you will see 3 different options to clone the repository on your local system.

We will see the steps to clone the repository using the "Clone HTTPS" option.

Get repository clone URL

Generate Git HTTPs credentials for the IAM user

To clone the repository using the HTTPs option, you need to have an IAM user. This particular IAM User must at least have an AWSCodeCommitPowerUser policy attached to it or equivalent permission to it. 

If you do not have an IAM user, click here to create it and come back to continue. 

Once you have a user with the required permissions go to IAM -- > Users -- > <click on the user you have> --> Security credentials.

Here, click on "Generate credentials" under "HTTPS Git credentials for AWS CodeCommit".

Generate HTTPS git credentials for an IAM user

You'll get a username and its secret key. Save the credentials you get as you will need them in the next steps.

Credentials of the IAM user

Perform  basic operations on the repository

Once you have Git HTTPs credentials, you can use them to authenticate operations on the repository.

On your machine execute the following commands to clone the repository you created

ls -lt

git clone https://git-codecommit.eu-west-3.amazonaws.com/v1/repos/my-first-repository

When you execute the above command you will be asked to enter your username and password. Enter the username and password that we created in the previous step.

ls -lt

Change your working directory to the repository you cloned.

cd my-first-repository/

ls -lt

ls -la

Clone the repository

Now let's create a file and try to push it to the repository.

touch first-file

Check the state of the working directory and the staging area.

git status

Add the change in the working directory to the staging area.

git add first-file

Again, check the state of the working directory and the staging area. Now You will see that the file has moved from "Untracked files" to "Changes to be committed".

git status

You are ready to commit your changes but the commit message won't have the identity you want for your commit message.

git commit -m "my first commit to aws CodeCommit"

Execute the following command to add your identity.

git config --global --edit

Now, fix the identity using the following command.

git commit --amend --reset-author

Check the Git logs and see what identity has been appended to your commit message.

git log

Now again check the status before you push your changes.

git status

You are completely ready to push your changes to CodeCommit. Push your changes using the following command.

git push

First commit to the repository

You will see the following screen to fix your identity after you execute the "git commit --amend --reset-author" command.

Add git commit information

Use the following screenshot for your reference to the above commands we saw.

Push the commit to the repository

When you come back to the AWS console in your repository, you will see that the file you pushed from your local machine is now available under your repository. This means that you have successfully added a new file from your local machine to your CodeCommit repository.

Check your commit

Delete the repository

Now, when you no longer need your repository you can delete it. To delete the repository click on the repository and then on the "Delete repository" button.

Delete the repository

Confirm the deletion action which will permanently delete your repository from CodeCommit. Once you delete your repository you cannot retrieve it back. Be careful when you handle repositories in your organization or repositories which contain your important data.

Confirm deletion

Conclusion

In this article, we saw the steps to create and delete a CodeCommit repository. We also learned to create Git HTTPs credentials for the IAM user to be used to access the repository along with our first commit to the repository.

Share this page:

0 Comment(s)