Hosting your code in AWS CodeCommit has several advantages, the main one being seamless integration with AWS CodeDeploy and AWS CodePipeline.
I use SourceTree as my repo tool of choice, with Git/Bitbucket as the back end.
If you have a team of many developers and want to slowly migrate your code to AWS CodeCommit Git repo, you can setup your SourceTree config to push to both repo’s.
You will need a SSH-2-RSA 2048 Public/Private keys, because that's what AWS supports. So once you have generated/imported the keys to AWS, you can then import the same key to your GitHub or bitbucket account. Then just add them to your pageant. Read Setting Up AWS CodeCommit.
In AWS, when you import your SSH keys for an IAM User, it will give you an SSH Key ID. Write down this SSH Key ID and the password for it will be the private key password you generated with PuttyGen. Always use a password for your private key file.
In SourceTree, go to Tools/Options and set the private key to your AWS SSH Key. Remember, we added this to Bitbucket and Git, so we can now use the AWS SSH Key/Pairs for both repositories.
In SourceTree, select your repository and go to Repository/Repository Settings. Then, add a new origin. It will be in this format: ssh://git-codecommit.us-east-1.amazonaws.com/v1/repos/MyCoolApp
When it prompts for a username and password, enter your SSH Key ID and SSH private key password.
The last part, is to configure your local repo to post to both repositories until you are happy with the migration.
Once you are happy with the migration, you can then set AWS CodeCommit as the default remote by ticking the checkbox. You may need to first rename the original remote “origin” to “old” then set AWS as the default.