Abandonner la fusion dans Git

Ashok Chapagai 19 décembre 2022
Abandonner la fusion dans Git

Par exemple, Mario souhaite extraire les dernières modifications apportées à son référentiel nommé save-princess à partir du référentiel distant. Mario utilise git pull origin branch1 mais reçoit une erreur de conflit de fusion car le fichier modifié localement a été modifié dans le référentiel distant save-princess par Luigi.

Un conflit de fusion se produit également, si par exemple, Luigi a édité le même fichier sur la même ligne que Mario, ou Luigi a supprimé le fichier que Mario était en train d’éditer, ou même si Mario essaie d’ajouter le même fichier avec le même nom qui est déjà ajouté par Luigi. Git affichera un message si un conflit de fusion s’est produit pendant git pull. En termes simples, un conflit de fusion se produit lorsque deux modifications affectent le même fichier sur la même ligne.

Voici les quelques façons de résoudre les conflits de fusion,

Résoudre les conflits de fusion en cachant les modifications dans Git

Une façon de résoudre les conflits consiste à cacher les modifications apportées localement, puis à restaurer à nouveau les modifications cachées une fois le conflit de fusion disparu. Cela peut être réalisé grâce à :

  • Rangez les modifications
    git stash
    
  • Récupérer les modifications du référentiel distant.
    git fetch
    
    git pull origin save-princess
    

    Ici, save-princess est le nom de la branche présente à la fois dans les référentiels locaux et distants.

  • Pop les changements cachés
    git stash pop
    

Si des problèmes surviennent après la fusion, vous pouvez toujours annuler les modifications actuelles avant la fusion.

Pour annuler la fusion, vous pouvez utiliser :

git merge --abort

La commande ci-dessus est similaire à reset, qui réinitialise notre commit à la version actuelle avant la fusion.

git reset --hard
Ashok Chapagai avatar Ashok Chapagai avatar

Ashok is an avid learner and senior software engineer with a keen interest in cyber security. He loves articulating his experience with words to wider audience.

LinkedIn GitHub

Article connexe - Git Merge