Git:特定ディレクトリ配下のユーザー名とメールアドレスを変更する
Git で指定のディレクトリ配下で、コミットに記録されるユーザー名とメールアドレスを変更するには、.gitconfig で includeIf ディレクティブを設定すると良い。 例
ここではプライベートと仕事用の設定を切り替える例を紹介する。
プライベート用を想定して ~/path/to/private に以下の内容を含む .gitconfig を配置する。
code:ユーザーA用の設定(.gitconfig)
name = username
email = username@private.test
続いて仕事用を想定して ~/path/to/working に以下の内容を含む .gitconfig を配置する。
code:ユーザーB用の設定(.gitconfig)
name = username
email = username@working.test
最後に大本になるホームディレクトリの .gitconfig に適用するディレクトリと設定ファイルの場所を指定する。
code:大本のgitconfig(.gitconfig)
path = ~/path/to/private/.gitconfig
path = ~/path/to/working/.gitconfig
以上で、~/path/to/private と ~/path/to/working のディレクトリ配下それぞれで設定を使い分けられる。なお、path に指定する設定ファイルの位置に制限はないので大本の設定ファイルのとなりにそれっぽい名前で配置するなどもできる。
別解で direnv を使用して環境変数を経由して設定することもできるがシェルの状態に依存するのでIDEやエディタとの相性を考え、Git本体に解釈できる分はそのようにしたほうがトラブルを避けられると判断してこの手法を使用している。