msysgit の設定ファイルについて調べてみた

msysgit の設定ファイルがどこにあって、優先度どうなってるの?と疑問になったので調べた。

まず設定ファイルの在処。
は msysgit のインストールフォルダ、 はユーザフォルダ(例:C:\User\naga_sawa)、 は clone 先フォルダ。

  1. \etc\gitconfig
  2. \.gitconfig
  3. \.git\config

競合する設定がある場合は下に行くほど優先度が高くなる。
例えば 1. と 3. で user.name を設定していた場合は 3. の設定が優先される。
これについては git config -l で確認できて、表示される設定のうち、同名の設定のものは一番下にあるものが有効になる。

で、git config で設定した内容がどこに保存されるかというと、

  • git config --global で設定した物は 2. に保存
  • git config は 3. に保存

となっていた。

1. に PC 全体で共有の設定、2. にユーザ毎の設定、3. にリポジトリ毎の設定、と見れば自然な構成。