

git-remote-codecommitはpipとHomebrewどっちで入れるべきか
この記事は、構成と文章の整理にAIを使っています。
あくまで読みやすくするための補助で、内容そのものをAIにすべて任せて書いているわけではありませんが、ところどころ相談しながら整えています。
git-remote-codecommitとは
CodeCommitにHTTPS接続するための認証ヘルパー。Gitコマンド自体を拡張する仕組みなので、Git用のIAM認証情報(ユーザー名・パスワード)やSSH鍵を別途作らなくていい。ルートアカウント、フェデレーテッドアクセス、STSの一時的セキュリティ認証情報での接続をサポートしてるのはこれだけで、AWS CLIのプロファイルやSTSトークンをそのまま使い回せる。
Linuxでのインストール
前提はPythonとpip、Git。pipはバージョン9.0.3以上が必要。
pip --version古い場合はget-pip.pyで更新できる。
curl -O https://bootstrap.pypa.io/get-pip.pypython3 get-pip.py --user本体のインストールはpip一発。
pip install git-remote-codecommitGitはバージョン1.7.9以降が必要で、2.28以降なら初期コミットのブランチ名指定にも対応してる。ディストリのパッケージマネージャで入れて問題ない。
macOS(Homebrew)でのインストール
Homebrewが入っていればこっちのほうが早い、はずだった。
brew install git-remote-codecommitいきなりこれで詰まった。
error: Your Xcode (13.2.1) is outdated.Please update to Xcode 13.4.1.Xcode 13.4.1を落として、切り替える。
sudo xcode-select --switch /Applications/Xcode.13.4.1.appCommand Line Toolsも入れ直す。
xcode-select --installそれでもPython 3.10がソースビルドで止まる場合があって、そのときは明示的にbuild-from-sourceで通した。
brew install --build-from-source python@3.10ここまでやってからbrew install git-remote-codecommitを再実行すれば通る。pip経由なら最初からこのXcode周りのビルド問題は踏まないので、Macでもとりあえず動かしたいだけならpipでいい。
使い方
インストールが終わればgitコマンドの中でそのまま使える。リージョンを指定してクローンする場合。
git clone codecommit::ap-northeast-1://repository-nameプロファイルを指定したい場合はこう。
git clone codecommit::ap-northeast-1://profile-name@repository-namepush/pullも通常のgitと同じ。
git push origin maingit pull origin mainフェデレーテッドアクセスや一時的セキュリティ認証情報を使う場合は、git-remote-codecommitをサポートしているのはAWS CLI v2だけなので、CLIのバージョンは要確認。
注意点
git: 'remote-codecommit' is not a git commandというエラーが出たら、大体は実行ファイルへのPATHが通ってないか、git-remote-codecommitのハイフン抜けなどのタイプミス。- IAM静的ユーザー名・パスワードやSSH鍵を使う既存の接続方法と混在させると、どっちの認証で繋いでるか分かりづらくなるので、チームで使うなら接続方式は揃えたほうがいい。
- フェデレーティッドユーザーはGit認証情報やSSH鍵ペアが使えないので、その場合はgit-remote-codecommit一択になる。
pipでもbrewでも中身は同じツールなので、Macで開発してるならbrewで入れて、CIやLinux環境ではpipで入れるくらいの使い分けでいい。
追記(2025/11)
CodeCommitは2024年7月に新規顧客への提供を停止する方針が出てたけど、2025年11月25日に撤回されて完全なGA(一般提供)に戻ってる。既存ユーザーは特に影響なかったけど、これから新規で使う人はこの記事の情報より公式ドキュメントの最新版を確認したほうがいい。