Sobes.tech
Junior

Comment résolvez-vous les conflits dans Git?

sobes.tech IA

Réponse de l'IA

Lors d'un pull ou rebase, une fusion de modifications se produit. Si Git ne peut pas résoudre automatiquement les lignes en conflit dans les fichiers, il les marque avec des marqueurs spéciaux:

<<<<<<< HEAD
ligne de la branche courante
=======
ligne de la branche fusionnée
>>>>>>> feature/nouvelle-fonctionnalité

Pour résoudre le conflit:

  1. Ouvrez le fichier en conflit dans un éditeur.

  2. Modifiez manuellement le fichier, en choisissant les parties nécessaires des deux versions ou en créant une nouvelle combinaison.

  3. Supprimez les marqueurs <<<<<<<, =======, >>>>>>>.

  4. Enregistrez le fichier.

  5. Ajoutez le fichier résolu à l'index avec git add:

    # Ajouter un fichier spécifique
    git add chemin/vers/fichier/resolu.txt
    
    # Ajouter tous les fichiers résolus
    git add .
    
  6. Faites un commit pour terminer la fusion:

    # Lors de la fusion
    git commit -m "Fusion résolue"
    
    # Lors de rebase
    git rebase --continue
    

Si vous avez beaucoup de conflits ou qu'ils sont complexes, vous pouvez utiliser des outils de fusion:

git mergetool

Cela ouvrira un outil graphique pour parcourir étape par étape les conflits.

En cas de difficultés lors du rebase, vous pouvez utiliser:

  • git rebase --abort: Annuler le rebase et revenir à l'état avant.
  • git rebase --skip: Passer le commit en conflit actuel (peut être risqué).

Il est important de tester les modifications après avoir résolu les conflits pour s'assurer que le code fonctionne correctement.