includeIfでgitconfigを読み分ける
フォルダ、ファイル構成
C:\Users\<USER NAME\.gitconfig # グローバルのgitconfig
C:\tmp\my_gitconfig # 読み分けるgitconfig
C:\src\my_repo # 対象のリポジトリ
C:\src\my_repo2 # 同上
C:\src\my_repo3 # 同上
グローバルの.gitconfig
[user]
name = Taro
email = taro@example.com
[includeIf "gitdir/i:C:/src/"]
path = C:/tmp/my_gitconfig
解説
- 上の設定で、C:/src以下にあるリポジトリではC:/tmp/my_gitconfigを読むようになる
- 注意点として、
- gitdirはgitdir/iとして必ずケースインセンシティブにする
- gitdir/iの後にスペースを付けない
- C:/src/のように末尾に/スラッシュを付ける
- リポジトリフォルダの中でgitコマンドを実行しないと上の設定は有効にならない。すなわち、cd C:/src/my_repoした後にgit config --list --show-originなどで設定を確認する
- my_gitconfigのパスはグローバルのgitconfigファイルの相対パスとしても書ける。例えばpath = my_gitconfigなら、C:\Users\<USER NAME\my_gitconfigに相当する
参考
https://git-scm.com/docs/git-config