Avance rapide lors de la fusion de branches dans Git

Azhar Bashir Khan 6 février 2022
Avance rapide lors de la fusion de branches dans Git

Ce didacticiel présentera le transfert rapide lors de la fusion de branches dans Git.

Git, un système de contrôle de version, est utilisé dans un environnement de développement collaboratif pour suivre les modifications apportées aux fichiers.

Dans un référentiel Git, nous créons de nombreuses branches à partir de la branche principale à des fins différentes. Nous pouvons éventuellement fusionner les modifications de ces branches dans la branche principale pour fournir une version de version.

Parfois, la branche cible est simplement avancée rapidement par Git lors de la fusion au lieu de faire une fusion réelle.

Nous allons maintenant illustrer cela par un exemple.

Fusion rapide dans Git

Dans un environnement de développement collaboratif, nous pouvons créer plusieurs branches à partir de la branche principale dans le référentiel Git. Disons que pour les corrections de bogues, nous créons une branche et disons que nous pouvons créer une autre branche à des fins de développement de fonctionnalités.

Finalement, nous fusionnons ces branches dans la branche principale pour intégrer les modifications de ces branches afin de fournir une construction cohérente.

Parfois, nous créons une branche à partir de la branche principale, travaillons dessus et effectuons des commits sur la nouvelle branche. Ensuite, nous décidons de fusionner cette branche avec notre branche principale.

Maintenant, si un chemin linéaire est présent de la pointe de la branche actuelle à la branche cible, la branche principale, alors au lieu d’un commit de fusion dans la branche cible (ligne principale), une avance rapide de la branche se produit.

Supposons que nous ayons une branche nommée feature1 ; nous fusionnons les changements de feature1 dans main, notre branche principale.

Supposons maintenant que le commit HEAD de la branche main soit un ancêtre du commit de la branche feature1, celle que nous voulons fusionner.

Dans de tels cas, au lieu de fusionner les branches, tout ce que Git a à faire pour intégrer les historiques est de déplacer (c’est-à-dire) avancer rapidement la pointe de la branche actuelle jusqu’à la pointe de la branche cible.

Ainsi, dans notre cas, avec l’avance rapide, le HEAD actuel de la branche main sera déplacé jusqu’à la pointe de la branche feature1.

Veuillez voir ci-dessous une illustration de la situation des branches main et feature1, avant la fusion.

              E---F---G feature1
             /
A---B---C---D main

Ainsi, dans ce cas, lorsque nous fusionnerons les deux branches à l’aide de la commande git merge, une avance rapide se produira.

Pour faire une fusion, nous exécutons la commande comme suit.

$ git merge feature1

Après l’exécution de la commande, la branche main sera accélérée.

Veuillez voir l’illustration de l’avance rapide ci-dessous.

              E---F---G feature1, main
             /
A---B---C---D

Ainsi, maintenant le courant HEAD de la branche main est avancé rapidement. Git ne créera pas de commit de fusion dans ce cas.

Ainsi, nous avons élaboré sur l’avance rapide lors de la fusion de branches dans Git.

Pour plus d’informations, s’il vous plaît visitez -

  1. Git Merge
  2. Git Branching - Branchement et fusion de base

Article connexe - Git Merge