Réparer après une fusion cassée (heal)
En une phrase : après un
git mergeougit 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 pullougit mergeafficheCONFLICTdans 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
git statusLes 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 :
<<<<<<< HEAD
ma version locale
=======
la version distante
>>>>>>> origin/main3. 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 logpour comprendre l'historique.
4. Marquer le fichier comme résolu
git add chemin/du/fichier5. Une fois tous les conflits résolus
git commit -m "fix(merge): resoudre conflits sur DpgfNativeWindow + SmartDimensioner"
Si vous étiez en train d'un
git pull --rebase, c'estgit rebase --continueau lieu degit commit.
6. Vérifier que le build passe
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 statuspropredotnet buildpasse sans erreurAucun marqueur
<<<<<<<dans le code (chercher dans tout le repo)Les tests passent (skill
/test)
Si ça ne marche pas
| Symptôme | Que faire |
|---|---|
| Conflits dans 10+ fichiers | demander à l'administrateur — c'est souvent un signe que la branche a divergé trop longtemps |
git add refuse | Vérifier qu'il reste pas de <<<<<<< quelque part dans le fichier |
| Build casse après merge mais pas de conflit visible | Probable 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é :
git merge --abort # si vous étiez en merge
git rebase --abort # si vous étiez en rebaseCela annule la fusion et vous remet à l'état d'avant. Pas destructif.
![]()
git reset --hardest destructif — ne pas utiliser sans confirmatio l'administrateur.
Public cible : développeur futur Dernière vérification : 2026-05-15