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を読むようになる
  • 注意点として、
  • gitdirgitdir/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


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS