Prepare by setting up your local development machine with the aws command line tool and the git command.
AWS Codecommit can be used as storage for private GIT repositories. The setup involves a few steps, assuming you have a valid AWS account already.
us-east-1
is available.codecommit-user
AWSCodeCommitFullAccess
to this userAccess Key
for this user and note key id
and secret code
$ aws configure --profile codecommit-user
In the next step we associate the aws
command with git
as the credential helper with the following commands:
$ git config --global credential.helper \
'!aws --profile codecommit-user codecommit credential-helper $@'
$ git config --global credential.UseHttpPath true
You can verify or edit this setup afterwards:
$ git config --global --edit
You should note a section:
[credential]
helper = !aws --profile codecommit-user codecommit credential-helper $@
UseHttpPath = true
Now you can use git from the command line as usual.
Atlassian SourceTree is a visual tool for Mac and Windows to manage source code repositories. This can be used with Codecommit as a remote repository but need to add an extra configuration option to the local repository in SourceTree to be able to connect with codecommit.
First, setup Codecommit for local git.
Assuming you have a local git
repository which you want to push to codecommit
just follow these steps:
my-project
https://git-codecommit.us-east-1.amazonaws.com/v1/repos/my-project
origin
and Url / Path: the link you copied before[credential]
helper = /usr/local/bin/aws --profile codecommit-user codecommit credential-helper $@
UseHttpPath = true
After saving the config file should look something like this:
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
ignorecase = true
precomposeunicode = true
[branch "master"]
remote = origin
merge = refs/heads/master
[remote "origin"]
url = https://git-codecommit.us-east-1.amazonaws.com/v1/repos/digitaloffice.nu
fetch = +refs/heads/*:refs/remotes/origin/*
[credential]
helper = /usr/local/bin/aws --profile codecommit-user codecommit credential-helper $@
UseHttpPath = true
Please note: this is based on OS-X setup. Take special care of the path for aws (which is /usr/local/bin/aws
in this case) and will most certainly be different under other Unixes or Windows configurations.