git config
Découvrez git config : niveaux de configuration, lecture et écriture de valeurs, éditeur, couleurs, alias et gestion des espaces.
Qu'est-ce que git config
La commande git config est un utilitaire en ligne de commande permettant de lire et d'écrire les variables de configuration de Git — les paramètres qui contrôlent son apparence et son comportement. Ces variables définissent votre identité (nom et adresse e-mail), votre éditeur de texte préféré, les couleurs de sortie, les raccourcis de commandes (alias) et de nombreux autres comportements.
Cette page couvre les niveaux de configuration et leurs fichiers, la lecture et l'écriture de valeurs, la définition de votre éditeur et des couleurs, la création d'alias, ainsi que la gestion des espaces blancs. Définir user.name et user.email avec git config est généralement la toute première chose à faire après l'installation de Git.

Les niveaux et fichiers de git config
La commande git config accepte des arguments pour spécifier le niveau de configuration sur lequel opérer. Lors de la recherche d'une valeur de configuration, Git applique l'ordre de priorité suivant (du plus bas au plus élevé) :
--system– La configuration système inclut tous les utilisateurs du système d'exploitation et tous les dépôts. Le fichier de configuration système se trouve dans le répertoire d'installation de Git.
git config niveau système
(prefix)/etc/gitconfig - on Unix systems
C:\Documents and Settings\All Users\Application Data\Git\config - Windows XP (deprecated)
C:\ProgramData\Git\config - Windows Vista and newer versions--global– La configuration globale s'applique à l'utilisateur actuel du système d'exploitation. Les valeurs de configuration globale sont stockées dans un fichier du répertoire personnel de l'utilisateur.
git config niveau global
~/.gitconfig - on Unix systems
C:\Users\<username>\.gitconfig - on Windows--local– Lorsqu'aucune option de configuration n'est passée,git configécrit au niveau local par défaut. Le répertoire.gitdu dépôt contient un fichier qui stocke les valeurs de configuration locales.
git config niveau local
.git/configRemarque : les paramètres locaux remplacent les paramètres globaux, qui à leur tour remplacent les paramètres système. Ainsi, un user.email défini dans un dépôt (local) prend le dessus sur la valeur globale, vous permettant d'utiliser une adresse professionnelle dans un projet et une adresse personnelle dans un autre.
Comment écrire une valeur
Pour écrire une valeur, passez le nom de la configuration suivi de la valeur. L'exemple ci-dessous écrit [email protected] dans user.email. L'option --global définit la valeur pour l'utilisateur actuel du système d'exploitation, de sorte qu'elle s'applique à chaque dépôt dans lequel vous travaillez :
git config set user
git config --global user.email "[email protected]"Une configuration initiale typique écrit à la fois votre nom et votre adresse e-mail :
git config --global user.name "Jane Doe"
git config --global user.email "[email protected]"Ces deux valeurs sont apposées sur chaque commit que vous créez, alors définissez-les avant votre premier commit.
Comment lire une valeur
L'utilisation de base de git config consiste à récupérer une valeur de configuration en spécifiant son nom. Les noms de configuration sont composés d'une section et d'une clé séparées par un point :
git config user email
git config user.emailIci, email est une propriété enfant de la section user. L'exécution de cette commande affiche la valeur active — celle qui prévaut après l'application de la chaîne de substitution local → global → système.
Commandes d'inspection utiles
Au-delà de la lecture d'une seule clé, ces commandes vous aident à visualiser et gérer tout ce que Git a configuré :
| Commande | Ce qu'elle fait |
|---|---|
git config --list | Liste tous les paramètres actifs, fusionnés sur tous les niveaux. |
git config --list --show-origin | Liste chaque paramètre avec le fichier dont il provient. |
git config --get-all <key> | Récupère toutes les valeurs d'une clé pouvant être définie plusieurs fois. |
git config --unset <key> | Supprime un paramètre unique. |
git config --edit | Ouvre le fichier de configuration concerné dans votre éditeur par défaut. |
Lorsque deux niveaux définissent la même clé, --show-origin est le moyen le plus rapide de déterminer quel fichier est responsable de la valeur que Git utilise réellement.
L'éditeur git config - core.editor
Une fois votre identité configurée, Git utilise l'éditeur par défaut de votre système, qui est Vi ou Vim. La commande git config permet de définir quel éditeur Git utilisera. Voici la liste des éditeurs les plus courants avec les commandes git config correspondantes :
| Éditeur | Commande de configuration |
|---|---|
| Atom | git config --global core.editor "atom --wait" |
| emacs | git config --global core.editor "emacs" |
| nano | git config --global core.editor "nano -w" |
| vim | git config --global core.editor "vim" |
| Sublime Text (Mac) | git config --global core.editor "subl -w" |
| Sublime Text (Win, 32-bit install) | git config --global core.editor "'c:/program files (x86)/sublime text 3/sublimetext.exe' -w" |
| Sublime Text (Win, 64-bit install) | git config --global core.editor "'c:/program files/sublime text 3/sublimetext.exe' -w" |
| Textmate | git config --global core.editor "mate -w" |
Sorties colorisées
Git prend en charge les couleurs, ce qui simplifie la lecture de ses sorties. Vous pouvez personnaliser les couleurs de sortie. La commande git config est utilisée pour définir les valeurs de couleur.
color.ui
Git colorise automatiquement la plupart de ses sorties, mais il existe également une variable principale si vous souhaitez définir une autre couleur. Pour désactiver toutes les sorties colorisées en terminal de Git, vous pouvez procéder comme suit :
git config set color.ui
git config --global color.ui falseLe paramètre par défaut de color.ui est auto, ce qui applique les couleurs directement à la sortie du terminal. Il omet les codes de couleur lorsque la sortie est redirigée vers un tube ou un fichier.
Vous pouvez également définir la valeur de color.ui sur always. Cela applique les codes de couleur même lorsque la sortie est redirigée vers des fichiers ou des tubes. Cela peut causer des problèmes si le tube récepteur n'attend pas d'entrée avec codes de couleur.
Valeurs de couleur Git
En plus de color.ui, il existe d'autres paramètres de couleur pouvant être définis sur false, auto ou always. Ils peuvent prendre une valeur de couleur spécifique : normal, black, red, green, yellow, blue, magenta, cyan, white. Les couleurs peuvent être spécifiées sous forme de codes hexadécimaux comme #1c87c9 ou de valeurs ANSI 256 couleurs si le terminal le prend en charge.
Paramètres de configuration des couleurs Git
| Paramètre | Description |
|---|---|
| color.branch | Définit la couleur de sortie de la commande git branch. |
color.branch.<slot> | Concerne la sortie de git branch. <slot> est l'un des suivants : 1. branche courante 2. branche locale 3. branche distante 4. branche amont 5. plain (toute autre référence) |
| color.diff | Applique des couleurs aux sorties de git diff, git log et git show. |
color.diff.<slot> | Indique à git sur quelle partie du patch (context, plain, meta, frag, old, new, commit, whitespace) une couleur spécifique doit être utilisée. |
color.decorate.<slot> | Ajuste la couleur pour la sortie de git log --decorate. Les valeurs <slot> supportées sont branch, remoteBranch, tag, stash ou HEAD. Elles s'appliquent respectivement aux branches locales, aux branches de suivi distantes, aux tags, aux modifications en attente et à HEAD. |
| color.grep | Applique une couleur à la sortie de git grep. |
color.grep.<slot> | Peut être appliqué à git grep. La variable <slot> spécifie à quelle partie de la sortie grep (context, filename, function, line number, match, matchContext, matchSelected, selected, separator) la couleur doit être appliquée. |
| color.interactive | Applique des couleurs aux invites et affichages interactifs (p. ex. git add --interactive, git clean --interactive). |
color.interactive.<slot> | Cible une « sortie interactive ». Les valeurs <slot> disponibles sont : prompt, header, help, error. |
| color.pager | Active ou désactive la sortie colorisée lorsque le pager est utilisé. |
| color.showBranch | Active ou désactive la sortie colorisée pour la commande git show branch. |
| color.status | Active ou désactive la sortie colorisée pour git status. |
color.status.<slot> | Spécifie une couleur personnalisée pour les éléments définis de git status. <slot> prend en charge les valeurs suivantes : header, added ou updated, changed, untracked, branch, nobranch, unmerged. |
Les alias git config
Les alias sont des raccourcis personnalisés qui se développent en commandes plus longues ou combinées, vous évitant de retaper fréquemment des commandes en entier. Le système d'alias de Git est le plus souvent utilisé pour raccourcir les commandes courantes. Vous créez des alias avec git config :
git config set alias
git config --global alias.ci commitAprès cela, git ci exécute git commit. Parce que la valeur contient un espace, un alias correspondant à une commande avec des options doit être cité comme un seul argument :
git config aliases
git config --global alias.amend "commit --amend"Ici, l'exécution de git amend se développe en git commit --amend. Un alias peut également appeler une commande shell en préfixant la valeur par !, par exemple git config --global alias.unstage '!git restore --staged'. Pour un approfondissement, consultez le chapitre dédié à git alias.
Formatage et espaces blancs
| Fonctionnalité | Description | Commande Git Config |
|---|---|---|
indent-with-non-tab | Met en évidence une ligne commençant par des espaces au lieu de tabulations. | git config --global core.whitespace "indent-with-non-tab,tab-in-indent,blank-at-eof,-trailing-space,-cr-at-eol" |
tab-in-indent | Met en évidence une tabulation initiale comme une erreur. | (Combiné avec d'autres règles) |
blank-at-eof | Met en évidence les lignes vides insérées à la fin d'un fichier. | (Combiné avec d'autres règles) |
trailing-space | Met en évidence les espaces blancs en fin de ligne. | (Combiné avec d'autres règles) |
cr-at-eol | Met en évidence un retour chariot en fin de ligne. | (Combiné avec d'autres règles) |
tabwidth=<n> | Spécifie combien de positions de caractères occupe une tabulation. La valeur par défaut est 8. Valeurs autorisées : 1-63. | git config --global core.whitespace "tabwidth=<n>" |
Autres paramètres courants
Quelques valeurs de configuration méritent d'être définies sur une nouvelle machine :
# Name the default branch "main" for every repository you create
git config --global init.defaultBranch main
# Reuse cached credentials so you are not prompted on every push
git config --global credential.helper cache
# Choose how git pull reconciles divergent branches (merge, not rebase)
git config --global pull.rebase falseLa valeur init.defaultBranch est appliquée par git init lors de la création d'un dépôt. Pour contrôler les fichiers que Git suit, associez votre configuration à un fichier .gitignore.