web-dev-qa-db-ja.com

git設定に関する優先順位は何ですか?

~/.gitconfigファイル、どの設定がそれを上書きしますか?

  • プロジェクトレベルの設定:.git/config
  • システムレベルの設定:/etc/gitconfig
30
djangofan

Gitのマニュアルから( http://git-scm.com/docs/git-config#FILES をお読みください)

--fileで明示的に設定しない場合、git configが構成オプションを検索する4つのファイルがあります。

$(prefix)/ etc/gitconfig

システム全体の構成ファイル。

$ XDG_CONFIG_HOME/git/config

2番目のユーザー固有の構成ファイル。 $ XDG_CONFIG_HOMEが設定されていないか空の場合、$ HOME/.config/git/configが使用されます。このファイルに設定されている単一値の変数は、〜/ .gitconfigにあるもので上書きされます。このファイルのサポートがごく最近追加されたため、古いバージョンのGitを使用する場合は、このファイルを作成しないことをお勧めします。

〜/ .gitconfig

ユーザー固有の構成ファイル。 「グローバル」構成ファイルとも呼ばれます。

$ GIT_DIR/config

リポジトリ固有の構成ファイル。

それ以上のオプションが指定されていない場合、すべての読み取りオプションは、利用可能なこれらのファイルをすべて読み取ります。グローバルまたはシステム全体の構成ファイルが使用できない場合、それらは無視されます。リポジトリ設定ファイルが利用できない、または読み込めない場合、git configはゼロ以外のエラーコードで終了します。ただし、どちらの場合もエラーメッセージは発行されません。

ファイルは上記の順序で読み取られ、最後に見つかった値が先に読み取られた値よりも優先されます。複数の値が取得されると、すべてのファイルのキーのすべての値が使用されます。

22
Michael

優先度の低いものから高いものへ:

  • /etc/gitconfig:システム全体で編集され、--systemパラメータが使用されている
  • ~/.gitconfig:ユーザー固有の設定、--globalパラメータが使用されている
  • .git/config:リポジトリ固有の構成
51
Michael Kohl