ACOMDIR

Créateur des structures de développement sous forme d'arborescence prêtes à l'emploi.

Open source projet

Résolution de Conflits Git

Attention : GitHub propose deux branches (répertoires dépôts) : main ou master. Nos exemples sont construites sur la branche master.

La commande git branch vous permet de lister toutes les branches disponibles et met en évidence la branche active avec un astérisque (*) de votre compte GitHub.

Introduction aux Conflits Git

Les conflits Git surviennent lorsque deux branches contiennent des modifications incompatibles dans le même fichier. Cela se produit fréquemment lors des opérations de merge ou de rebase où Git ne peut pas fusionner les changements automatiquement.

Étape 1 : Identifier le Conflit

Lorsqu'un conflit se produit, Git vous en informe par un message indiquant que le merge ou rebase a échoué. Vous pouvez utiliser la commande suivante pour voir les fichiers en conflit :

git status

Les fichiers conflictuels seront marqués comme Unmerged paths.

Étape 2 : Résoudre le Conflit Manuellement

Ouvrez les fichiers en conflit dans votre éditeur de texte. Git marque les conflits avec des sections comme :

<=>
    Conflit début
    <partie locale>
    =======
    <partie distante>
    <fin du conflit>
    

Vous devez choisir quelle version garder ou combiner les modifications de manière appropriée. Une fois que vous avez résolu le conflit, enregistrez les fichiers.

Étape 3 : Ajouter les Modifications Résolues

Une fois les conflits résolus, vous devez ajouter les fichiers modifiés à l'index de Git pour marquer les conflits comme résolus :

git add nom_du_fichier

Étape 4 : Finaliser la Fusion ou Rebase

Si vous êtes en train de fusionner (merge), finalisez avec :

git commit

Si vous êtes en train de faire un rebase, continuez avec :

git rebase --continue

Étape 5 : Pousser les Modifications vers le Dépôt Distant

Après avoir résolu le conflit et commis les changements, vous pouvez pousser vos modifications vers le dépôt distant :

git push

Conseils Supplémentaires