Git Configuration: Difference between revisions
(→Files) |
|||
Line 4: | Line 4: | ||
=Overview= | =Overview= | ||
Git maintains configuration in a hierarchy of files | Git maintains configuration in a hierarchy of files. | ||
System-wide configuration is maintained in <code>[[/etc/gitconfig#Overview|/etc/gitconfig]]</code>. This configuration applies to all users of the system and it is read and written by <code>git config --system ...</code>. | |||
User-specific configuration is maintained in in <code>~/[[.gitconfig#Overview|.gitconfig]]</code> or <code>~/[[.config/git/config#Overview|.config/git/config]]</code>. Repository specific configuration is maintained in <code>[[.git/config#Overview|.git/config]]</code>. | |||
User-specific configuration is read and written with <tt>git config --global ...</tt>. Repository specific configuration is read and written with <tt>git config --local ...</tt>. If no option is specified, --local is the default. | |||
If specified in multiple location, a configuration element is resolved to the most specific value: a repository-level value takes precedence over a user-level values, and a user-level value takes precedence over the corresponding system-level value. To use the effective value of a configuration element, use [[Git_config#Get_a_Setting|git config --get]]. | If specified in multiple location, a configuration element is resolved to the most specific value: a repository-level value takes precedence over a user-level values, and a user-level value takes precedence over the corresponding system-level value. To use the effective value of a configuration element, use [[Git_config#Get_a_Setting|git config --get]]. |
Revision as of 22:18, 9 January 2024
Internal
Overview
Git maintains configuration in a hierarchy of files.
System-wide configuration is maintained in /etc/gitconfig
. This configuration applies to all users of the system and it is read and written by git config --system ...
.
User-specific configuration is maintained in in ~/.gitconfig
or ~/.config/git/config
. Repository specific configuration is maintained in .git/config
.
User-specific configuration is read and written with git config --global .... Repository specific configuration is read and written with git config --local .... If no option is specified, --local is the default.
If specified in multiple location, a configuration element is resolved to the most specific value: a repository-level value takes precedence over a user-level values, and a user-level value takes precedence over the corresponding system-level value. To use the effective value of a configuration element, use git config --get.
The configuration files are plain-text, so values can be set manually by editing the file and inserting the correct syntax. It’s generally easier to run the git config command, though.