Fotolia

Où trouver les fichiers de configuration Git sur Windows et Linux

Les fichiers de configuration Git sont inexplicablement compliqués à trouver. Dans ce tutoriel sur la configuration de Git, nous examinons où les fichiers de configuration de Git pour Ubuntu et Windows sont enregistrés et stockés.

L’une des cinq commandes de base de Git que les débutants doivent apprendre est git config, ne serait-ce que pour effectuer un commit initial sans que l’outil Git ne harcèle un nom d’utilisateur et une adresse e-mail. Mais la commande git config couramment utilisée pour initialiser ces champs utilise généralement un commutateur global, ce qui amène les utilisateurs à s’interroger sur les champs locaux et systèmes concurrents de Git.

Suite de l'article ci-dessous

Mais où se trouvent les fichiers git de Linux et de Windows ? Nous répondrons ici à toutes ces questions sur l’emplacement des fichiers de configuration de Git.

 git config location
Liste complète des endroits où les fichiers de configuration Git config, gitconfig et .gitconfig sont situés
sous Windows et Ubuntu Linux.

Fichiers de configuration system, global et local de Git

Classés par ordre décroissant de spécificité, Git fournit quatre portées standards pour le stockage des données de configuration, plus une portée portable sous Windows :

  • Worktree (arbre de travail)
  • Local
  • Global
  • System
  • Portable

Note : Vous remarquerez une « portée portable » mentionnée dans le tableau de configuration de Windows Git ci-dessus. Cette portée m’a été signalée par un lecteur après la première publication de cet article. La cible portable est la plus générale et a priorité sur toutes les autres cibles.

Les portées sont en cascade, le fichier le plus spécifique ayant la priorité sur le plus général. La portée Local l’emporte sur la Global. Le portée Global prime sur la portée Système.

Si vous configurez plusieurs arbres de travail Git sur le même ordinateur, vous pouvez également utiliser la portée de l’arbre de travail Git, bien que cela nécessite qu’elle soit activée. La portée de l’arbre de travail est la plus spécifique et l’emporte sur la portée Local.

Noms des fichiers de configuration Git UNIX et Windows 

Pour vous compliquer la vie, les fichiers de configuration de Git ont tous des noms différents :

  • gitconfig - le fichier de configuration du système sans extension Git ;
  • .gitconfig - le fichier de configuration global de Git n’a pas de nom, mais est juste une extension ;
  • config - le fichier de configuration Git local est simplement nommé config, et comme le fichier de configuration Git système, n’a pas d’extension ;
  • config.worktree - le fichier de configuration de l’arbre de travail Git présente un nom et une extension.

Où se trouvent les fichiers de configuration de Windows Git ?

Voici l’endroit où vous trouverez les fichiers de configuration de Git sous Windows :

Emplacement des fichiers de configuration Git sur Windows
Portée Emplacement et nom du fichier nom du fichier
 System  <git-install-root>\mingw64\etc\gitconfig  gitconfig
 Global  C:\Users\username\.gitconfig  .gitconfig
 Local  <git-repo>\.git\config  config
 Worktree  <git-repo>\.git\config.worktree  config.worktree
 Portable  C:\ProgramData\Git\config  config

Où se trouvent les fichiers de configuration Git pour Ubuntu Linux ?

En ce qui concerne l’emplacement des fichiers de configuration Git pour Linux, voici où vous les trouverez sur Ubuntu : 

Emplacement des fichiers de configuration Git sur Linux
Portée Emplacement et nom du fichier Nom du fichier
 System  ~etc/gitconfig  gitconfig
 Global  ~home/<username>/.gitconfig or ~root/.gitconfig  .gitconfig
 Local  <git-repo>/.git/config  config
 Worktree  <git-repo>/.git/config.worktree  config.worktree

Trouvez les fichiers de configuration de Git par vous-même

Pour trouver le fichier de configuration de Git définissant une variable donnée à une valeur particulière, les interrupteurs -list et -show-origin de la commande git peuvent être utiles. Dans l’exemple suivant, vous pouvez voir la commande indiquant que la propriété user.email est définie dans les portées portable, system, local et global. Elle indique également l’emplacement exact de ces fichiers Les fichiers de configuration de Git sont situés.

Voici la commande git config avec les switches list et show-origin sous Windows :

windows@location (master)
$ git config --list --show-origin
file:"C:\\ProgramData/Git/config" user.email=portal@example.com
file:C:/_git/mingw64/etc/gitconfig user.name=Syster Sally
file:C:/_git/mingw64/etc/gitconfig user.email=system@example.com
file:C:/Users/Owner/.gitconfig user.email=global@example.com
file:.git/config user.email=local@example.com

Voici la même commande exécutée sur Ubnutu où la propriété Git user.name est définie dans trois champs distincts :

linux@location (master)
$ git config --list --show-origin
file: /etc/gitconfig user.name=Syster Sally
file: /home/gme/.gitconfig user.name=Glow Ball
file: .git/config user.name=Low Cal

Sur StackOverflow, la commande suivante a été suggérée pour aider les développeurs à trouver l’emplacement des fichiers de configuration de Git :

sudo git -c core.editor=ls\ -al config --system --edit

Le GIF animé ci-dessous montre la commande ci-dessus en cours d’exécution sur Ubuntu 20. Notez que la commande ci-dessus indique le répertoire d’origine comme emplacement du fichier de configuration global de Git, mais lorsque la commande sudo est utilisée, le fichier de configuration global de Git se trouve dans ~root.

 représentation de la localisation des fichiers config linux
Les emplacements des fichiers de configurations sur Ubuntu Linux.

Vous ne trouvez pas le fichier de configuration global de git .gitconfig ?

Parfois, les utilisateurs cherchent les fichiers de configuration de Git global et system et ne les trouvent pas. Si vous ne pouvez pas trouver gitconfig ou .gitconfig, c’est probablement parce qu’ils n’existent pas.

Git ne crée pas réellement les fichiers gitconfig ou .gitconfig avant qu’ils ne soient référencés pour la première fois. Le simple fait de demander à Git de modifier le fichier forcera sa création, mais, tant que cela n’aura pas eu lieu, les efforts pour trouver le fichier .gitconfig ou gitconfig seront vains.

L’opération suivante nécessitera probablement des droits sudo sur une distribution Linux, car vous risquez de créer des fichiers dans des répertoires privilégiés \etc ou \root. Mais lorsqu’elles sont exécutées avec des permissions élevées, ces commandes sont suffisantes pour forcer la création de fichiers gitconfig et .gitconfig global et système :

/c/ global/windows git config files (master) 
$ sudo git config --edit --global 
$ sudo git config --edit --system

Chacune de ces commandes Git ouvrira le fichier de configuration Git Windows ou Linux correspondant dans l’éditeur spécifié. Vous pouvez modifier le fichier si vous le souhaitez, ou simplement fermer l’éditeur immédiatement pour forcer la création du fichier de configuration.

Where Git stores system, global and local git config files.

En ce qui concerne les éditeurs, si vous souhaitez passer de l’éditeur Git à Notepad++, il suffit de lancer la commande suivante :

$ git config --global core.editor "'C:/Program Files/Notepad++/notepad++.exe' -multiInst -notabbar -nosession -noPlugin"

Faites toujours attention en éditant les fichiers de configuration de Git, car si vous éditez incorrectement l’un de ces fichiers, vous risquez de ruiner toute votre configuration Git quel que soit votre système d’exploitation.

Devenez incollable sur les outils DevOps

Vous voulez en savoir plus sur Git et ses variantes ? Consultez les articles suivants : 

Pour approfondir sur Outils de développement

Close