16. Fusion : intégration de succursales

Le processus de fusion dans Git est l'une des opérations fondamentales qui permet l'intégration des changements d'une branche à l'autre. Dans les projets logiciels, où plusieurs lignes de développement se déroulent en parallèle, la fusion est essentielle pour combiner différentes fonctionnalités ou corrections de bugs en un seul historique de versions. Dans ce chapitre, nous explorerons les concepts et les bonnes pratiques pour effectuer des fusions efficaces et sécurisées avec Git et GitHub.

Comprendre la fusion dans Git

La

fusion est utilisée pour joindre l'historique de deux ou plusieurs branches. Lorsque vous effectuez une fusion, Git essaie automatiquement de combiner les modifications de code des branches impliquées. Si Git peut faire cela sans intervention de l'utilisateur, cela s'appelle fusion rapide. Cependant, lorsqu'il y a des modifications contradictoires sur les mêmes morceaux de code entre les branches, Git ne pourra pas fusionner automatiquement, ce qui entraînera un conflit de fusion, qui doit être résolu manuellement par le développeur.

Fusionner les types

Il existe essentiellement deux types de fusions dans Git :

  • Fusion rapide : se produit lorsqu'il n'y a pas de modifications conflictuelles entre les branches. Git déplace simplement le pointeur de la branche en cours de fusion vers le point de la branche en cours de fusion.
  • Fusion à trois voies : lorsqu'il y a des changements divergents dans les branches, Git crée un nouveau commit qui représente la fusion de ces changements. Ce commit a deux parents, représentant chacune des branches fusionnées.

Effectuer une fusion

Pour effectuer une fusion, vous devez être sur la branche qui recevra les modifications. Par exemple, si vous souhaitez fusionner la branche feature dans la branche main, vous devez d'abord extraire la branche main :

git checkout principal
fonctionnalité de fusion git

Si la fusion est une avance rapide, Git déplace simplement le pointeur de la branche main vers l'avant. Si une fusion à trois est nécessaire, Git démarrera le processus de fusion et, s'il n'y a pas de conflits, créera une nouvelle validation de fusion.

Résoudre les conflits de fusion

Lorsque Git rencontre des conflits qu'il ne peut pas résoudre automatiquement, il arrête le processus de fusion et marque les fichiers en conflit. Il est de la responsabilité du développeur de résoudre ces conflits manuellement. Pour ce faire, vous devez éditer les fichiers marqués, en choisissant les modifications de chaque branche qui doivent être conservées ou combinées. Après avoir résolu les conflits, vous devez ajouter les fichiers à la zone de préparation et terminer la fusion avec un commit.

git add <resolved-file>
git commit -m "Résoudre les conflits de fusion entre la fonctionnalité et le principal"

Bonnes pratiques de fusion

Pour éviter les problèmes de fusion complexes, voici quelques bonnes pratiques :

  • Gardez les branches à jour : fusionnez régulièrement la branche principale (généralement main ou master) dans des branches de fonctionnalités pour minimiser la divergence du code.< /li>
  • Petits commits fréquents : les petits commits descriptifs facilitent la compréhension des changements et la résolution des conflits.
  • Communiquer avec l'équipe : avant de procéder à des fusions importantes, il est important de communiquer avec l'équipe pour éviter des fusions surprises pouvant provoquer des conflits majeurs.
  • Test avant la fusion : assurez-vous que le code de la branche de fonctionnalités fonctionne correctement avant de fusionner dans la branche principale.

Utiliser GitHub pour la fusion

GitHub propose une interface graphique pour effectuer des fusions via des Pull Requests (PR). Les PR sont un excellent moyen de réviser le code avant qu'il ne soit fusionné dans la branche principale. Ils offrent également un espace de discussion sur les changements proposés.

Pour créer un PR sur GitHub :

  1. Poussez la branche de fonctionnalité vers le dépôt distant.
  2. Accédez à la page du référentiel sur GitHub et cliquez sur « Pull Request ».
  3. Sélectionnez la branche de base (où le code sera fusionné) et la branche de comparaison (celle contenant les modifications).
  4. Remplissez le titre et la description de la PR, puis créez la Pull Request.

Après révision du code et discussions nécessaires, le PR peut être fusionné directement dans l'interface GitHub, à condition qu'il n'y ait aucun conflit à résoudre localement.

Conclusion

La fusion est un outil puissant qui permet l'intégration de différentes lignes de travail dans un projet logiciel. Comprendre comment effectuer des fusions efficaces et résoudre les conflits est essentiel pour maintenir un flux de travail de développement fluide et collaboratif. En suivant les meilleures pratiques et en utilisant recgrâce aux Pull Requests sur GitHub, les équipes peuvent maximiser l'efficacité et minimiser les risques associés au processus de fusion.

Répondez maintenant à l’exercice sur le contenu :

Parmi les affirmations suivantes concernant le processus de fusion dans Git, laquelle est vraie ?

Tu as raison! Félicitations, passez maintenant à la page suivante

Vous avez raté! Essayer à nouveau.

Image de l'article Résoudre les conflits de fusion

Page suivante de lebook gratuit :

17Résoudre les conflits de fusion

0 minutes

Obtenez votre certificat pour ce cours gratuitement ! en téléchargeant lapplication Cursa et en lisant lebook qui sy trouve. Disponible sur Google Play ou App Store !

Get it on Google Play Get it on App Store

+ 6,5 millions
d'étudiants

Certificat gratuit et
valide avec QR Code

48 mille exercices
gratuits

Note de 4,8/5 dans les
magasins d'applications

Cours gratuits en
vidéo, audio et texte