💻
git のサブコマンドを任意のディレクトリで実行する
git のサブコマンドを使った git リポジトリの操作は、そのディレクトリ配下で行うことが多いが、-C オプション[1]で git リポジトリのパスを指定することで任意のディレクトリで実行できる。
git -C path/to/git/repository pull origin main
例えばホームディレクトリ配下に git clone でクローンしたツールを更新する場合に、cd で移動して git pull でリモートのコミットを取得し、元のディレクトリに移動するという手順を考える。ここでは nodenv をホームディレクトリにクローンしている例を挙げる。
# ホームディレクトリ配下に git clone されている .nodenv ディレクトリに移動する
cd ~/.nodenv
# リモートリポジトリのコミットを取得する
git pull
# 元のディレクトリに移動する
cd path/to/directory
こうした処理を cd で移動せずに実行できる。
git -C ~/.nodenv pull
Discussion