#author("2022-01-25T09:08:08+09:00","default:ryuichi","ryuichi")
* includeIfでgitconfigを読み分ける [#k30510ce]
** [#ve10aa3f]
** フォルダ、ファイル構成 [#j5b5c61c]
C:\Users\<USER NAME\.gitconfig # グローバルのgitconfig
C:\tmp\my_gitconfig # 読み分けるgitconfig
C:\src\my_repo # 対象のリポジトリ
C:\src\my_repo2 # 同上
C:\src\my_repo3 # 同上
** グローバルの.gitconfig [#q3339c39]
[user]
name = Taro
email = taro@example.com
[includeIf "gitdir/i:C:/src/"]
path = C:/tmp/my_gitconfig
** 解説 [#b5ac05e9]
- 上の設定で、'''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'''に相当する
** 参考 [#c0f79d14]
https://git-scm.com/docs/git-config