Da Anonimo (non verificato) , 29 Aprile 2026

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.