Skip to content

Réparer après une fusion cassée (heal)

En une phrase : après un git merge ou git pull, des conflits restent dans les fichiers ou le build casse — voici comment remettre droit. Difficulté : attention — pas destructif si on suit les étapes Temps : 5 à 30 minutes selon la complexité

Quand l'utiliser

  • Un git pull ou git merge affiche CONFLICT dans plusieurs fichiers
  • Après une fusion, dotnet build échoue avec des erreurs de syntaxe étranges
  • Le projet a des marqueurs <<<<<<< ======= >>>>>>> dans le code

Avant de commencer

  • [ ] Sauvegarder une copie du dossier auguste-revit/ ailleurs (par sécurité, avant toute manip)
  • [ ] Notez sur quelle branche vous êtes (git branch --show-current)

Étapes

1. Identifier les fichiers en conflit

powershell
git status

Les fichiers en conflit ont la mention both modified ou apparaissent sous Unmerged paths.

2. Ouvrir chaque fichier et chercher les marqueurs

Dans VS Code ou éditeur, recherche : <<<<<<<

Vous verrez :

text
<<<<<<< HEAD
ma version locale
=======
la version distante
>>>>>>> origin/main

3. Choisir manuellement

Pour chaque conflit, garder la version correcte (l'une, l'autre, ou un mix) et supprimer les 3 marqueurs.

Si vous ne savez pas quelle version est la bonne → ne pas deviner. demander à l'administrateur ou regarder git log pour comprendre l'historique.

4. Marquer le fichier comme résolu

powershell
git add chemin/du/fichier

5. Une fois tous les conflits résolus

powershell
git commit -m "fix(merge): resoudre conflits sur DpgfNativeWindow + SmartDimensioner"

Si vous étiez en train d'un git pull --rebase, c'est git rebase --continue au lieu de git commit.

6. Vérifier que le build passe

powershell
dotnet build src/plugin/AugusteRevit/AugusteRevit.csproj -p:UseRevitStubs=true

Si vert : push. Si rouge : un conflit a laissé du code cassé → relire la zone, corriger, re-commit.

Skill associé — /heal

Le skill /heal automatise les étapes 1, 5, 6 et propose des fixes pour les erreurs de build classiques. Invoquer simplement /heal après un merge problématique.

Schéma

Vérifier que ça a marché

  • git status propre
  • dotnet build passe sans erreur
  • Aucun marqueur <<<<<<< dans le code (chercher dans tout le repo)
  • Les tests passent (skill /test)

Si ça ne marche pas

SymptômeQue faire
Conflits dans 10+ fichiersdemander à l'administrateur — c'est souvent un signe que la branche a divergé trop longtemps
git add refuseVérifier qu'il reste pas de <<<<<<< quelque part dans le fichier
Build casse après merge mais pas de conflit visibleProbable conflit sémantique (deux changements compatibles syntaxiquement mais incompatibles logiquement) → relire git log des deux branches

Annuler tout et recommencer (dernière option)

Si vous êtes vraiment perdue avant d'avoir committé :

powershell
git merge --abort        # si vous étiez en merge
git rebase --abort       # si vous étiez en rebase

Cela annule la fusion et vous remet à l'état d'avant. Pas destructif.

git reset --hard est destructif — ne pas utiliser sans confirmatio l'administrateur.


Public cible : développeur futur Dernière vérification : 2026-05-15

Plugin propriétaire — équipe 91STUDIO