Comparer la configuration globale et locale
Git dispose de différents niveaux de configuration. Nous avons déjà vu la configuration --global
, qui s'applique à tous vos dépôts. Il existe également une configuration --local
, qui s'applique uniquement au dépôt spécifique dans lequel vous vous trouvez actuellement. Les configurations locales remplacent les configurations globales pour ce dépôt particulier.
Pour voir la configuration locale d'un dépôt, vous devez être à l'intérieur d'un dépôt Git et exécuter git config --local --list
. Comme nous n'avons pas encore créé de nouveau dépôt dans ce laboratoire, l'exécution de cette commande maintenant entraînera une erreur.
Commençons par créer un nouveau répertoire et initialiser un dépôt Git à l'intérieur, tout comme vous l'avez fait dans le "Votre premier laboratoire Git" :
mkdir my-local-repo
cd my-local-repo
git init
Vous devriez voir le message d'initialisation :
Initialized empty Git repository in /home/labex/project/my-local-repo/.git/
Maintenant que vous êtes à l'intérieur du répertoire my-local-repo
, qui est un dépôt Git, vous pouvez vérifier sa configuration locale :
git config --local --list
Il est probable que vous ne voyiez aucune sortie, ou très peu, car aucune configuration locale n'a été définie pour ce dépôt spécifique.
Maintenant, définissons une configuration locale différente de la configuration globale. Par exemple, définissons un user.name
différent pour ce dépôt spécifique :
git config --local user.name "Local User"
Cette commande définit le user.name
spécifiquement pour le dépôt my-local-repo
.
Maintenant, listons à nouveau la configuration locale :
git config --local --list
Vous devriez maintenant voir le user.name
local :
user.name=Local User
Enfin, voyons ce qui se passe lorsque vous demandez le user.name
sans spécifier --global
ou --local
. Git cherchera la configuration dans cet ordre : local, global, puis système. Le premier qu'il trouvera sera utilisé.
Exécutez cette commande tout en restant à l'intérieur de my-local-repo
:
git config user.name
Vous devriez voir le nom d'utilisateur local, car la configuration locale remplace la configuration globale :
Local User
Maintenant, naviguez vers le répertoire ~/project
(en dehors de my-local-repo
) :
cd ~/project
Et exécutez à nouveau la même commande :
git config user.name
Cette fois, comme vous n'êtes pas à l'intérieur d'un dépôt avec une configuration locale, Git utilisera la configuration globale :
Jane Doe
Cela démontre comment les configurations locales ont la priorité sur les configurations globales, vous permettant d'avoir des paramètres spécifiques pour des projets individuels tout en conservant des paramètres généraux pour tous les autres.