Strategie vs driver
Una strategia di merge decide come Git combina due storie — ort (default da Git 2.34), recursive, resolve, octopus e ours. Un driver di merge e logica per-file che gira quando entrambi i lati hanno cambiato lo stesso file.
Selezionare una strategia
git merge -s ort feature
git merge -s ours legacy-branch
git merge -s octopus a b c d
Opzioni di strategia
git merge -X theirs feature
git merge -X ignore-all-space main
git merge -X renormalize legacy
Driver personalizzati
[merge "ours-only"]
name = Always keep our version
driver = true
CHANGELOG.md merge=ours-only
*.lock merge=union
Driver reale: yarn.lock
[merge "yarn-lock"]
name = Re-run yarn install
driver = "yarn install --silent && git add yarn.lock"
Contratto del driver
Gli script driver ricevono placeholder: %O antenato, %A nostro (scrivere il risultato qui), %B loro, %P path, %L dimensione marker. Uscita 0 per successo.
Errori comuni
Dimenticare che i driver devono essere installati su ogni clone — solo .gitattributes e condiviso. Confondere la strategia -s ours con l'attributo merge=ours.