Comment vérifier si un dépôt Git a un paramètre de configuration spécifique

GitGitBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire, vous apprendrez à vérifier des paramètres de configuration spécifiques au sein d'un dépôt Git. Nous commencerons par utiliser la commande git config pour interroger des paramètres individuels, en comprenant comment récupérer des valeurs telles que votre nom d'utilisateur global et votre adresse e-mail.

Ensuite, nous explorerons les différents niveaux de configuration de Git, en nous concentrant plus particulièrement sur la distinction entre les paramètres globaux et locaux. Vous apprendrez à lister toutes vos configurations aux deux niveaux pour voir comment elles sont appliquées et comment les paramètres locaux peuvent remplacer les paramètres globaux. Enfin, nous aborderons la manière de gérer les situations où une valeur de configuration demandée pourrait être manquante.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL git(("Git")) -.-> git/SetupandConfigGroup(["Setup and Config"]) git(("Git")) -.-> git/GitHubIntegrationToolsGroup(["GitHub Integration Tools"]) git/SetupandConfigGroup -.-> git/config("Set Configurations") git/GitHubIntegrationToolsGroup -.-> git/cli_config("Configure CLI") subgraph Lab Skills git/config -.-> lab-560083{{"Comment vérifier si un dépôt Git a un paramètre de configuration spécifique"}} git/cli_config -.-> lab-560083{{"Comment vérifier si un dépôt Git a un paramètre de configuration spécifique"}} end

Utiliser git config pour interroger les paramètres

Dans cette étape, nous apprendrons à utiliser la commande git config pour interroger les paramètres de Git. Git utilise des fichiers de configuration pour stocker les paramètres qui contrôlent son comportement. Ces paramètres peuvent être appliqués globalement (à tous vos dépôts Git) ou localement (à un dépôt spécifique).

Tout d'abord, vérifions un paramètre global. Nous avons configuré votre nom et votre adresse e-mail globalement dans la section de configuration. Vous pouvez interroger votre nom d'utilisateur global en utilisant le drapeau --global et le nom du paramètre user.name :

git config --global user.name

Vous devriez voir le nom que vous avez configuré lors de la configuration :

Jane Doe

Maintenant, interrogeons votre adresse e-mail d'utilisateur globale :

git config --global user.email

Vous devriez voir l'adresse e-mail que vous avez configurée :

[email protected]

Ces commandes vous montrent les valeurs que Git utilisera par défaut pour vos commits dans tous les dépôts de ce système. Comprendre comment interroger ces paramètres est la première étape pour gérer votre configuration Git.

Vérifier les configurations globales et locales

Dans cette étape, nous explorerons la différence entre les configurations globales et locales de Git et comment afficher tous vos paramètres.

Git dispose de différents niveaux de configuration. Les plus courants sont :

  • Niveau système : S'applique à tous les utilisateurs du système. (Moins courant pour les utilisateurs individuels)
  • Niveau global : S'applique à votre compte utilisateur sur le système, pour tous vos dépôts. Cela est stocké dans ~/.gitconfig.
  • Niveau local : S'applique uniquement au dépôt actuel. Cela est stocké dans .git/config à l'intérieur du dépôt.

Les configurations locales remplacent les configurations globales, et les configurations globales remplacent les configurations système.

Pour afficher tous vos paramètres globaux, vous pouvez utiliser les options --global --list :

git config --global --list

Vous devriez voir une sortie similaire à celle-ci, montrant le user.name et le user.email que nous avons configurés, ainsi que l'init.defaultBranch :

user.name=Jane Doe
[email protected]
init.defaultBranch=master

Maintenant, créons une configuration locale dans notre dépôt my-time-machine. Revenons dans le répertoire du dépôt :

cd ~/project/my-time-machine

Nous pouvons définir un nom d'utilisateur local qui ne s'appliquera qu'à ce dépôt spécifique. Utilisons un nom différent :

git config user.name "Time Traveler"

Remarquez que nous n'avons pas utilisé l'option --global cette fois-ci. Cela indique à Git de définir la configuration localement pour le dépôt actuel.

Maintenant, affichons les configurations locales de ce dépôt en utilisant --local --list :

git config --local --list

Vous devriez voir le nom d'utilisateur local que nous venons de définir :

user.name=Time Traveler

Enfin, affichons toutes les configurations qui s'appliquent au dépôt actuel, y compris les paramètres locaux et globaux. Git affichera d'abord les paramètres locaux, car ils ont la priorité :

git config --list

La sortie affichera à la fois les paramètres locaux et globaux. Remarquez que user.name affiche "Time Traveler" (le paramètre local) et user.email affiche "[email protected]" (le paramètre global, car nous n'avons pas défini d'e-mail local) :

user.name=Time Traveler
[email protected]
init.defaultBranch=master

Cela démontre comment Git donne la priorité aux configurations locales par rapport aux globales.

Gérer les valeurs de configuration manquantes

Dans cette étape, nous verrons ce qui se passe lorsque vous essayez d'interroger une valeur de configuration Git qui n'existe pas et comment Git gère ce cas.

Parfois, vous pourriez essayer d'interroger un paramètre qui n'a pas encore été configuré, que ce soit globalement ou localement. Essayons d'interroger un paramètre hypothétique appelé core.editor que nous n'avons pas explicitement défini :

git config core.editor

Étant donné que nous n'avons pas défini de core.editor local dans notre dépôt my-time-machine, Git cherchera un core.editor global. Si celui-ci n'est pas non plus défini (ce qui est le cas dans cet environnement), Git se terminera avec une erreur et n'affichera rien ou une valeur par défaut si celle-ci est configurée au niveau du système. Vous pourriez voir une sortie similaire à celle-ci, ou aucune sortie du tout, selon la configuration par défaut du système :

L'important est que Git ne trouve pas de valeur spécifique pour core.editor dans les fichiers de configuration locaux ou globaux.

Maintenant, essayons d'interroger un paramètre que nous savons exister globalement, mais pas localement, comme user.email :

git config user.email

Même si nous sommes dans le répertoire my-time-machine où nous avons défini un user.name local, nous n'avons pas défini de user.email local. Git cherchera d'abord un user.email local. Étant donné qu'il ne le trouve pas, il cherchera ensuite un user.email global et renverra cette valeur :

[email protected]

Cela confirme que lorsqu'une configuration locale est manquante, Git utilise la configuration globale.

Comprendre comment Git recherche les valeurs de configuration (en premier localement, puis globalement, puis au niveau du système) est crucial pour résoudre les problèmes et gérer efficacement votre environnement Git.

Résumé

Dans ce laboratoire, nous avons appris à utiliser la commande git config pour interroger les paramètres de Git. Nous avons commencé par interroger des paramètres globaux spécifiques tels que user.name et user.email en utilisant l'option --global. Cela a démontré comment récupérer des valeurs de configuration individuelles qui s'appliquent à tous les dépôts sur le système.

Nous avons ensuite exploré les différents niveaux de configuration de Git : système, global et local, en comprenant que les paramètres locaux remplacent les paramètres globaux. Nous avons appris à lister tous les paramètres globaux en utilisant git config --global --list pour voir la configuration complète appliquée à notre compte utilisateur. Cela a fourni une vue complète des paramètres par défaut utilisés par Git.