はじめに
SouceTreeなどのGit管理ツールに甘え、Git操作を理解していなかったことにつけが回りGit BashにてAWS[CodeCommit]内のリポジトリをgit clone
すらできなかったのでまとめます。
環境構築する際、手順書にはこう書いてあった。
git clone [リポジトリのURL]
初学者の自分はもちろんその通りにコマンドを打つが、コマンドが通らない。
正しくはこれ。
git init
git remote add origin [リポジトリのURL]。
git config --local credential.helper "!aws --profile [任意のプロファイル名] codecommit credential-helper $@"
git config --local credential.UseHttpPath true
git fetch
今までSouceTreeにてSSHキーでclone
してその後の操作もボタンでポチポチ押していただけの身では到底たどり着けなかった。
原因
順番前後しますが、、原因は認証情報不足でした。
まず、
git config --local credential.helper "!aws --profile [任意のプロファイル名] codecommit credential-helper $@"
によって、ローカルリポジトリの認証設定をリモートリポジトリの認証設定に反映できるようにする。
そして、
git config --local credential.UseHttpPath true
によってHttpパスによる認証情報を許可する。
最後に
git fetch
によって、リモートリポジトリから最新の変更情報を取得する必要があった。
ちなみに、
git remote add origin [リポジトリのURL]
が認証設定を変更する前に使用できるのは、これはリモートとローカルを紐づけるだけの操作であり単に認証情報の必要のない操作だから。
そこに変更を加えたり、加えられたりする操作に認証情報が必要になる。