Strategien vs Treiber
Eine Merge-Strategie entscheidet, wie Git zwei Historien kombiniert — ort (Standard ab Git 2.34), recursive, resolve, octopus und ours. Ein Merge-Treiber ist datei-spezifische Logik, die lauft, wenn beide Seiten dieselbe Datei geandert haben.
Strategie wahlen
git merge -s ort feature
git merge -s ours legacy-branch
git merge -s octopus a b c d
Strategie-Optionen
git merge -X theirs feature
git merge -X ignore-all-space main
git merge -X renormalize legacy
Benutzerdefinierte Treiber
[merge "ours-only"]
name = Always keep our version
driver = true
CHANGELOG.md merge=ours-only
*.lock merge=union
Realer Treiber: yarn.lock
[merge "yarn-lock"]
name = Re-run yarn install
driver = "yarn install --silent && git add yarn.lock"
Treiber-Vertrag
Treiber-Skripte erhalten Platzhalter: %O Vorfahre, %A unsere (Ergebnis hier schreiben), %B ihre, %P Pfad, %L Markergrosse.
Haufige Fehler
Vergessen, dass Treiber auf jedem Klon installiert werden mussen — nur .gitattributes wird geteilt.