Git GUI for AWS CodeCommit

19,049

While AWS CodeCommit supports the common Git connection protocols HTTPS and SSH, the details can be slightly peculiar and Setting Up for AWS CodeCommit will vary depending on what connection protocol you want to use when connecting to an AWS CodeCommit repository, and on the operating system you use, as usual:

If you have not yet created any AWS CodeCommit repositories, [...] then the following list can help you decide which type of connection to set up for.

  • HTTPS: With HTTPS connections, you allow Git to use a cryptographically signed version of your IAM user credentials or Amazon EC2 instance role whenever Git needs to authenticate with AWS in order to interact with repositories in AWS CodeCommit. To do this, you configure a credential helper for Git on your local machine. A credential helper is included in the AWS CLI on Linux, OS X, or Unix, and included as part of the AWS AWS SDK for .NET for Windows operating systems. [...]

  • SSH: With SSH connections, you create public and private key files on your local machine that Git and AWS CodeCommit use for SSH authentication. You associate the public key with your IAM user. You store the private key on your local machine. Because SSH requires manual creation and management of public and private key files, you might find HTTPS simpler and easier to use with AWS CodeCommit.

[emphasis mine]

The two emphasized fragments highlight the minor yet relevant differences to using either connection protocol with most other hosted Git providers like Bitbucket or GitHub.

In contrast to the recommendation by AWS, I personally consider setting up the mentioned credentials helper for HTTPS more involved than simply adding your public SSH key(s) to your AWS IAM user (step 5.), after all, I'm using them for Git all over the place anyway - this depends on what you are used to and personal preference of course.

  • The important aspect to be aware of for SSH usage on Windows (for example with SourceTree, see below) is that you need to embed the SSH key id into the clone URL:
    git clone ssh://[email protected]/v1/repos/MyDemoRepo my-demo-repo

Generic GUI client

Any sufficiently open/generic client for Git that supports SSH should be able to use AWS CodeCommit in turn (no matter whether the client is GUI or CLI based), though usability and versatility varies.

A popular GUI client that nicely supports Bitbucket, GitHub and most other public Git providers including AWS CodeCommit is Atlassian's free Git & Mercurial client for Windows or Mac, SourceTree.

  • Please note that in contrast to SourceTree, GitHub Desktop does not seem to support directly connecting to any Git provider other than GitHub itself at this point (at least it seems possible to add any local repository that has previously been cloned via some other client though).
Share:
19,049
Teo
Author by

Teo

Updated on June 07, 2022

Comments

  • Teo
    Teo almost 2 years

    Is there any good GUI that I can use with AWS CodeCommit (Amazon's new Git Service)?

    I've tried SmathGit and GitHub for windows.

  • Teo
    Teo over 8 years
    Thanks man, that helped a lot. I 'll try the ssh in the clone url and also the source tree.
  • Adam Marshall
    Adam Marshall about 4 years
    For any future visitors, it is now possible to use GitHub Desktop to directly clone a remote repository by entering the URL, there are options for 'GitHub.com', 'GitHub Enterprise Server' and 'URL'. The URL option works well with AWS CodeCommit