Un workflow, non panico
I conflitti sono routine. Il workflow giusto li trasforma da evento stressante a compito di cinque minuti: ispezionare, decidere, modificare, verificare, continuare.
Passo 1: ispezionare
git status
git diff --name-only --diff-filter=U
git log --merge -p path/to/file
Passo 2: scegliere strategia
git checkout --theirs assets/logo.png
git add assets/logo.png
Passo 3: editare
git config --global merge.conflictStyle zdiff3
git diff --check
Passo 4: verificare
cargo test
git add path/to/file
git status
Passo 5: continuare
git merge --continue
git rebase --continue
git cherry-pick --continue
git merge --abort
git rebase --abort
Strumenti che aiutano
git mergetoolcon meld, kdiff3, p4merge, vimdiff, beyond compare, IntelliJ.git rerereper riprodurre risoluzioni.git imergeper merge incrementali.
Pattern
Conflitti di whitespace? git merge -X ignore-all-space. Conflitti di changelog ripetuti? CHANGELOG.md merge=union.
Errori comuni
Risolvere nell'editor senza ispezionare git log --merge — si perde il perche.