Comment vérifier si une branche Git suit une branche distante

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 (lab), vous apprendrez à vérifier si une branche Git locale suit une branche distante. Nous explorerons deux méthodes principales : l'utilisation de la commande git branch -vv pour voir rapidement les informations de suivi et l'utilisation de la commande git config pour vérifier la configuration en amont (upstream).

Grâce à des exemples pratiques, vous comprendrez comment interpréter la sortie de ces commandes et identifier quelle branche distante votre branche locale est connectée, le cas échéant. Nous aborderons également brièvement le concept de branches non suivies.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL git(("Git")) -.-> git/SetupandConfigGroup(["Setup and Config"]) git(("Git")) -.-> git/BranchManagementGroup(["Branch Management"]) git/SetupandConfigGroup -.-> git/config("Set Configurations") git/BranchManagementGroup -.-> git/branch("Handle Branches") subgraph Lab Skills git/config -.-> lab-560053{{"Comment vérifier si une branche Git suit une branche distante"}} git/branch -.-> lab-560053{{"Comment vérifier si une branche Git suit une branche distante"}} end

Exécuter git branch -vv pour vérifier le suivi

Dans cette étape, nous allons apprendre à vérifier l'état de suivi de vos branches locales en utilisant la commande git branch -vv. Cette commande est très utile pour voir quelle branche distante votre branche locale est connectée, le cas échéant.

Tout d'abord, assurons-nous que nous sommes dans le répertoire de notre projet. Ouvrez votre terminal et accédez au répertoire my-time-machine :

cd ~/project/my-time-machine

Maintenant, exécutez la commande git branch -vv :

git branch -vv

Vous devriez voir une sortie similaire à celle-ci :

* master a1b2c3d [origin/master] Send a message to the future

Décortiquons cette sortie :

  • * master : L'astérisque (*) indique que master est votre branche active actuelle.
  • a1b2c3d : Il s'agit de la version courte du hachage du dernier commit sur cette branche.
  • [origin/master] : Cette partie vous indique que votre branche locale master suit la branche master sur un dépôt distant nommé origin. Nous n'avons pas encore ajouté de dépôt distant, mais Git vous montre les informations de suivi potentielles.
  • Send a message to the future : Il s'agit du message de commit du dernier commit sur cette branche.

Comprendre le suivi des branches est important, surtout lorsque vous commencez à collaborer avec d'autres personnes ou à pousser votre code sur des plateformes comme GitHub. Cela vous aide à savoir si votre branche locale est à jour par rapport à la version distante et où vos modifications iront lorsque vous les pousserez.

Dans les étapes suivantes, nous explorerons comment configurer et vérifier les branches en amont (upstream), qui sont les branches distantes que votre branche locale suit.

Utiliser git config pour vérifier la branche en amont (upstream)

Dans l'étape précédente, nous avons vu que git branch -vv affichait [origin/master]. Cela indique que notre branche locale master est configurée pour suivre la branche master sur un dépôt distant nommé origin. Même si nous n'avons pas encore ajouté de dépôt distant, Git a des configurations par défaut qui suggèrent cette relation de suivi.

Nous pouvons vérifier cette configuration en utilisant la commande git config. Cette commande nous permet de visualiser et de modifier les paramètres de configuration de Git.

Assurez-vous que vous êtes toujours dans le répertoire ~/project/my-time-machine.

Maintenant, vérifions la configuration du dépôt distant de notre branche master :

git config branch.master.remote

Cette commande demande spécifiquement à Git la valeur du paramètre remote pour la branche master.

Vous devriez voir la sortie suivante :

origin

Cela confirme que la branche master est configurée pour utiliser origin comme dépôt distant.

Ensuite, vérifions la configuration du nom de la branche distante que notre branche locale master suit :

git config branch.master.merge

Cette commande demande à Git la valeur du paramètre merge pour la branche master, qui spécifie la branche distante à fusionner dans la branche locale.

Vous devriez voir la sortie suivante :

refs/heads/master

Cela confirme que la branche master est configurée pour suivre la branche master sur le dépôt distant. refs/heads/master est le nom de référence complet de la branche master.

L'utilisation de git config est un moyen puissant de comprendre et de gérer les paramètres détaillés de votre dépôt Git, y compris la façon dont vos branches locales interagissent avec les dépôts distants.

Tester les branches sans suivi

Dans les étapes précédentes, nous avons vu comment notre branche master est configurée pour suivre une branche distante. Maintenant, créons une nouvelle branche locale qui ne suit pas de branche distante et voyons comment git branch -vv indique son statut.

Assurez-vous que vous êtes toujours dans le répertoire ~/project/my-time-machine.

Tout d'abord, créons une nouvelle branche appelée experiment :

git branch experiment

Cette commande crée une nouvelle branche nommée experiment mais ne bascule pas sur elle.

Maintenant, exécutons de nouveau git branch -vv pour voir le statut de toutes nos branches locales :

git branch -vv

Vous devriez voir une sortie similaire à celle-ci :

* master    a1b2c3d [origin/master] Send a message to the future
  experiment a1b2c3d Send a message to the future

Remarquez la différence dans la sortie pour la branche experiment par rapport à la branche master. La branche experiment n'affiche pas [origin/...] après le hachage du commit. Cela indique que la branche experiment est une branche locale qui ne suit actuellement aucune branche distante.

C'est un scénario courant lorsque vous créez une nouvelle branche localement pour des expériences ou le développement d'une nouvelle fonctionnalité avant de décider de la partager avec d'autres sur un dépôt distant.

Vous pouvez définir explicitement une branche en amont (upstream) pour une branche locale en utilisant git branch --set-upstream-to=<remote>/<remote-branch> <local-branch>. Cependant, pour l'instant, il est important de comprendre que toutes les branches locales ne suivent pas automatiquement une branche distante.

Cela conclut notre exploration de la vérification du statut de suivi des branches. Vous avez appris à utiliser git branch -vv et git config pour comprendre comment vos branches locales sont configurées pour interagir avec les dépôts distants.

Résumé

Dans ce laboratoire (lab), nous avons appris à vérifier si une branche Git suit une branche distante. Nous avons utilisé la commande git branch -vv pour voir le statut de suivi des branches locales, en identifiant la branche distante et le dépôt qui est suivi.

Nous avons également exploré comment utiliser la commande git config pour vérifier la configuration en amont (upstream) d'une branche, en confirmant la branche distante que la branche locale est configurée pour suivre. Enfin, nous avons testé le comportement des branches sans suivi pour comprendre comment Git gère les branches sans une configuration en amont explicite.