Git vérifie quatre endroits pour un fichier de configuration :
- Le système de votre machine
.gitconfig
fichier.
- Votre utilisateur
.gitconfig
situé à l'adresse ~/.gitconfig
.
- Un deuxième fichier de configuration spécifique à l'utilisateur situé à l'adresse
$XDG_CONFIG_HOME/git/config
o $HOME/.config/git/config
.
- Le fichier de configuration du référentiel local
.git/config
.
Les paramètres s'enchaînent dans l'ordre suivant, chaque fichier ajoutant ou remplaçant les paramètres définis dans le fichier qui le précède.
- Configuration du système.
- Configuration de l'utilisateur.
- Configuration spécifique au référentiel.
Vous pouvez voir ce que chaque fichier a défini en utilisant les commandes suivantes :
# System, applies to entire machine and all users
$ git config --system --list
$ git config --system --edit
# User defined
$ git config --global --list
$ git config --global --edit
Vous pouvez voir ce que le fichier spécifique au référentiel a défini en ouvrant le fichier .git/config
pour ce référentiel.
Si vous utilisez MSysGit sous Windows, vous trouverez probablement que votre utilisateur ~/.gitconfig
où que ce soit %homepath%
pointe vers si vous utilisez echo %homepath%
à partir d'une invite de commande Windows.
De la la documentation pour git config
:
Si elle n'est pas définie explicitement avec --file
il y a quatre fichiers où git config
recherchera les options de configuration :
Deuxième fichier de configuration spécifique à l'utilisateur. Si $XDG_CONFIG_HOME
est non défini ou vide, $HOME/.config/git/config
sera utilisé. Tout variable à une seule valeur définie dans ce fichier sera écrasée par ce qui se trouve dans ~/.gitconfig
. C'est une bonne idée de ne pas créer ce fichier si vous utilisez parfois d'anciennes versions de Git, car le support de ce fichier a été ajouté assez récemment. a été ajouté assez récemment.
Fichier de configuration spécifique à l'utilisateur. Également appelé configuration "globale". global.
Si aucune autre option n'est donnée, toutes les options de lecture liront la totalité de ces fichiers qui sont disponibles. Si le fichier de configuration global ou celui du système ne sont pas disponibles, ils seront ignorés. Si le fichier de configuration du référentiel n'est pas disponible ou lisible, git config
se terminera avec un code d'erreur non nul. Cependant, dans les deux cas un message d'erreur ne sera émis.
Les fichiers sont lus dans l'ordre indiqué ci-dessus, la dernière valeur trouvée étant prioritaire. est prioritaire sur les valeurs lues précédemment. Lorsque plusieurs valeurs sont valeurs, toutes les valeurs d'une clé de tous les fichiers seront utilisées.
Toutes les options d'écriture écriront par défaut dans le référentiel spécifique de la base de données spécifique au dépôt. Notez que cela affecte également les options comme --replace-all
y --unset
. git config
ne changera jamais un seul fichier à la fois.
Vous pouvez passer outre ces règles soit par des options de la ligne de commande, soit par la commande variables d'environnement. Le site --global
y el --system
les options seront limitent le fichier utilisé au fichier global ou à celui du système respectivement. L'option GIT_CONFIG
a un effet similaire, mais vous mais vous pouvez spécifier le nom de fichier que vous voulez.