Comment vérifier une branche Git distante
Publié: 2023-01-23Si votre équipe de développement utilise Git, vous devrez éventuellement vérifier le travail de quelqu'un d'autre en tant que branche à partir d'un référentiel distant. Comme la plupart des actions de branche dans Git, le passage à une branche distante est en fait assez simple.
Git, branches et télécommandes
Trouver vos succursales locales
Vérification d'une succursale distante
Gestion des conflits de noms
Gestion de plusieurs référentiels distants
Avant de passer à la caisse
Git, branches et télécommandes
La philosophie de Git est de brancher souvent. Les branches permettent au développement d'avoir lieu sans altérer la base de code principale. Lorsque vous êtes satisfait que votre nouveau code testé est prêt, vous fusionnez votre nouvelle branche dans une autre branche. Il s'agit généralement de la branche principale ou principale, mais vous pouvez fusionner deux branches.
En raison de cette flexibilité et de la manière légère et rapide dont Git gère les branches et les fusions, la création de branches a été transformée. Dans les anciens systèmes de contrôle de version, la création de branches était un gros problème. La création de branches et la fusion étaient lentes et sujettes aux erreurs. Git a donné aux développeurs une arborescence simple et rapide qui est utilisée pour soutenir de nombreux flux de travail différents.
Si vous travaillez ou faites du bénévolat au sein d'une équipe de développement utilisant Git, vous disposerez d'un référentiel Git « central », distant de l'ordinateur de chaque ingénieur logiciel. C'est ce qu'on appelle le référentiel distant, ou simplement le "distant". C'est là que les validations et les modifications apportées à votre référentiel local sont envoyées lorsque vous effectuez un push.
Bien sûr, c'est aussi ce que font les autres développeurs. Cela facilite la collaboration. Si vous avez besoin d'accéder au travail d'un autre développeur, il vous suffit de récupérer son code à partir d'une branche du référentiel distant. S'ils ont besoin d'accéder à votre travail, ils récupéreront votre code à partir d'une branche du référentiel qui suit l'une de vos branches locales.
Dans Git, un projet de développement peut avoir plusieurs télécommandes. Cependant, une branche locale ne peut suivre qu'une seule branche distante. Ainsi, tant que vous travaillez avec la télécommande appropriée, vérifier une branche distante avec plusieurs télécommandes revient à utiliser une seule télécommande.
Trouver vos succursales locales
Vous devez éviter les conflits de noms. Si vous avez une branche locale qui porte le même nom que la branche distante que vous allez vérifier, vous avez deux options. Vous pouvez renommer votre branche locale et consulter la branche distante. De cette façon, votre branche locale qui suit la branche distante porte le même nom que la branche distante. Ou, vous pouvez vérifier la branche distante et dire à Git de créer une branche de suivi locale avec un nouveau nom.
Pour connaître les noms des branches de votre dépôt local, utilisez la commande git branch
.
branche git
Ce référentiel local a une branche principale et trois autres branches. L'astérisque indique quelle est la branche courante. Passer d'une branche à l'autre nécessite de vérifier la branche avec laquelle vous souhaitez travailler.
git checkout nouvelle fonctionnalité
statut git
La première commande change la branche pour nous, de sorte que "new-feature" soit la branche actuelle. La commande git status
vérifie cela pour nous.
Nous pouvons faire des allers-retours entre les branches, valider de nouvelles modifications, extraire des mises à jour de la télécommande et envoyer des mises à jour locales à la télécommande.
CONNEXION : Comment mettre à jour et gérer des branches Git distinctes
Vérification d'une succursale distante
Il y a une branche sur le référentiel distant qui n'est pas présente sur notre machine. Un développeur appelé Mary a créé une nouvelle fonctionnalité. Nous voulons passer à cette branche distante afin de pouvoir créer cette version du logiciel localement.
Si nous effectuons une fetch
, Git récupérera les métadonnées du référentiel distant.
git récupérer
Parce que c'est la première fetch
que nous avons faite depuis que Mary a poussé sa branche vers le référentiel distant, on nous dit qu'il y a une nouvelle branche appelée « origin/mary-feature ». Le nom par défaut du premier dépôt distant ajouté à un projet est « origin ».
Que nous voyions ce message ou non, nous pouvons toujours demander à Git de lister les branches du référentiel distant.
L'option -r
(distant) indique à Git de signaler les branches qui se trouvent sur le référentiel distant.
branche git -r
Le point à noter ici est que Git vérifie sa copie locale des métadonnées de la télécommande. C'est pourquoi nous avons utilisé la commande git fetch
pour nous assurer que la copie locale des métadonnées est à jour.
Une fois que nous avons repéré la branche que nous voulons, nous pouvons aller de l'avant et la vérifier. Nous utilisons la git checkout
avec l'option -b
(branche), suivi du nom que nous utiliserons pour la branche locale, suivi du nom de la branche distante.
git checkout -b origine mary-feature/mary-feature
Nous pouvons voir que nous avons extrait la branche distante et créé une branche locale qui suivra les modifications dans la branche distante.
branche git
Notre nouvelle succursale locale est maintenant notre succursale de travail actuelle.
Gestion des conflits de noms
Si vous avez une branche locale qui porte le même nom que la branche distante, vous pouvez soit renommer votre branche locale avant d'extraire la branche distante, soit extraire la branche distante et spécifier un autre nom de branche locale.
Pour extraire la branche distante dans une branche locale nommée différemment, nous pouvons utiliser la même commande que nous avons utilisée précédemment et choisir un nouveau nom de branche locale.
git checkout -b origine du test mary/fonctionnalité mary
Cela crée une branche locale appelée "mary-test" qui suivra les commits locaux vers cette branche. Les pushs iront à la branche distante « origin/mary-feature ».
C'est probablement la meilleure façon de gérer les conflits de noms locaux. Si vous voulez vraiment garder le même nom de branche locale et distante, vous devrez renommer votre branche locale avant de vérifier la télécommande. Renommer une branche est trivial dans Git.
git branch -m mary-feature old-mary-branch
Vous pouvez maintenant vérifier la branche distante « origin/mary-feature ».
Gestion de plusieurs référentiels distants
Si plusieurs référentiels distants sont configurés, vous devez vous assurer que vous travaillez avec le référentiel approprié lorsque vous extrayez la branche distante.
Pour répertorier vos référentiels distants, utilisez la commande remote
avec l'option -v
(afficher).
git distant -v
Pour voir toutes les branches disponibles, nous devons récupérer les métadonnées de toutes nos télécommandes, puis répertorier les branches distantes.
git fetch --all
branche git --all
Nous pouvons voir que la branche que nous voulons est dans la télécommande "origine". La commande pour le vérifier est dans le même format que nous avons déjà utilisé. Nous devons spécifier le nom distant, "origin", ainsi que le nom de la branche, "mary-feature".
git checkout -b origine mary-feature/mary-feature
CONNEXION : Comment changer, ajouter et supprimer des télécommandes Git
Avant de passer à la caisse
Avant de passer à la caisse, gardez quelques points à l'esprit et tout ira bien.
Assurez-vous d'éviter les conflits de noms. Si vous avez une branche locale portant le même nom que la branche distante, décidez si vous allez renommer la branche locale ou créer une branche avec un nom différent pour suivre la branche distante.
Si vous utilisez plusieurs référentiels distants, assurez-vous d'utiliser la bonne télécommande.
CONNEXION : Git rebase : tout ce que vous devez savoir