Por Anónimo (no verificado) , 29 Abril 2026

Qué es tres-vías

El diff de dos vías muestra qué cambió entre dos versiones. El diff de tres vías también considera el ancestro común, dejando que Git decida si una región fue cambiada por un lado, el otro o ambos. Tres vías es la base del merge.

Inspeccionar un conflicto

<<<<<<< HEAD
nuestra versión
=======
su versión
>>>>>>> feature

Mostrar los tres lados:

git config merge.conflictStyle diff3
git checkout --conflict=diff3 path/to/file

Etapas del índice

git ls-files -u
git show :1:path
git show :2:path
git show :3:path

Estrategias

git checkout --ours path/to/file
git checkout --theirs path/to/file
git checkout --merge path/to/file
git merge -X theirs feature
git merge -X ignore-all-space feature
git merge -X renormalize feature

Mergetool

git config merge.tool meld
git mergetool

Ancestro recursivo (ort)

Cuando dos branches comparten múltiples bases de merge, la estrategia ort (predeterminada desde Git 2.34) las fusiona virtualmente primero.

Errores comunes

Asumir que el ancestro en los marcadores de conflicto coincide con tu commit anterior — es la base del merge. Resolver conflictos eliminando ambos lados.