Par Anonyme (non vérifié) , 29 avril 2026

Stratégies vs drivers

Une stratégie de merge décide comment Git combine deux histoires — ort (par défaut depuis Git 2.34), recursive, resolve, octopus et ours. Un driver de merge est une logique par fichier qui s'exécute quand les deux côtés ont changé le même fichier.

Sélectionner une stratégie

git merge -s ort feature
git merge -s ours legacy-branch
git merge -s octopus a b c d

Options de stratégie

git merge -X theirs feature
git merge -X ignore-all-space main
git merge -X renormalize legacy

Drivers personnalisés

[merge "ours-only"]
name = Toujours garder notre version
driver = true
CHANGELOG.md merge=ours-only
*.lock merge=union

Driver du monde réel : yarn.lock

[merge "yarn-lock"]
name = Re-exécuter yarn install
driver = "yarn install --silent && git add yarn.lock"

Contrat du driver

Les scripts de driver reçoivent des placeholders : %O ancêtre, %A le nôtre (écrire le résultat ici), %B le leur, %P chemin, %L taille du marqueur de conflit.

Erreurs courantes

Oublier que les drivers doivent être installés sur chaque clone — seul .gitattributes est partagé.