Un flujo, no un pánico
Los conflictos son rutina. El flujo correcto los convierte de un evento de estrés en una tarea de cinco minutos: inspeccionar, decidir, editar, verificar, continuar.
Paso 1: inspeccionar
git status
git diff --name-only --diff-filter=U
git log --merge -p path/to/file
Paso 2: elegir estrategia
git checkout --theirs assets/logo.png
git add assets/logo.png
Paso 3: editar
git config --global merge.conflictStyle zdiff3
git diff --check
Paso 4: verificar
cargo test
git add path/to/file
git status
Paso 5: continuar
git merge --continue
git rebase --continue
git cherry-pick --continue
O abortar:
git merge --abort
git rebase --abort
Herramientas que ayudan
git mergetoolcon meld, kdiff3, p4merge, vimdiff, beyond compare, IntelliJ.git rererepara reproducir resoluciones en rebases repetidos.git imergepara merging incremental estilo bisect.
Patrones
¿Espacios en blanco conflictivos? Prueba git merge -X ignore-all-space. ¿Conflictos repetidos en changelog? Marca CHANGELOG.md merge=union.
Errores comunes
Resolver en el editor sin inspeccionar git log --merge. Hacer commit de un archivo medio resuelto. Saltar tests porque "compila."