Skip to content

Commit

Permalink
git-config(1): clarify precedence of multiple values
Browse files Browse the repository at this point in the history
In order to clarify which value is used when there are multiple values
defined for a key, re-order the list of file locations so that it runs
from least specific to most specific.  Then add a paragraph which simply
says that the last value will be used.

Signed-off-by: John Keeping <john@keeping.me.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
John Keeping authored and Junio C Hamano committed Jul 7, 2013
1 parent edca415 commit 7da9800
Showing 1 changed file with 12 additions and 8 deletions.
20 changes: 12 additions & 8 deletions Documentation/git-config.txt
Original file line number Diff line number Diff line change
Expand Up @@ -197,12 +197,8 @@ FILES
If not set explicitly with '--file', there are four files where
'git config' will search for configuration options:

$GIT_DIR/config::
Repository specific configuration file.

~/.gitconfig::
User-specific configuration file. Also called "global"
configuration file.
$(prefix)/etc/gitconfig::
System-wide configuration file.

$XDG_CONFIG_HOME/git/config::
Second user-specific configuration file. If $XDG_CONFIG_HOME is not set
Expand All @@ -212,15 +208,23 @@ $XDG_CONFIG_HOME/git/config::
you sometimes use older versions of Git, as support for this
file was added fairly recently.

$(prefix)/etc/gitconfig::
System-wide configuration file.
~/.gitconfig::
User-specific configuration file. Also called "global"
configuration file.

$GIT_DIR/config::
Repository specific configuration file.

If no further options are given, all reading options will read all of these
files that are available. If the global or the system-wide configuration
file are not available they will be ignored. If the repository configuration
file is not available or readable, 'git config' will exit with a non-zero
error code. However, in neither case will an error message be issued.

The files are read in the order given above, with last value found taking
precedence over values read earlier. When multiple values are taken then all
values of a key from all files will be used.

All writing options will per default write to the repository specific
configuration file. Note that this also affects options like '--replace-all'
and '--unset'. *'git config' will only ever change one file at a time*.
Expand Down

0 comments on commit 7da9800

Please sign in to comment.