Cómo funciona

El merge integra el historial de una rama en otra. Git encuentra el ancestro común y aplica los cambios de ambos lados. Si los cambios no entran en conflicto, el merge es automático. Si hay conflicto, el usuario lo resuelve manualmente.

Existen tipos: fast-forward (sin commit de merge, cuando la rama destino no divergió), recursive (crea commit de merge) y squash (comprime todos los commits de la rama en uno solo). La elección depende del flujo de trabajo del equipo.

Las buenas prácticas incluyen: actualizar la rama con main antes de hacer merge, revisar los conflictos con cuidado y escribir mensajes de commit claros.

Ejemplo práctico

Terminal
git checkout main
git merge feature/login

En caso de conflicto, Git marca las líneas con <<<<<<<, ======= y >>>>>>>. Tras resolver:

Terminal
git add .
git commit -m "Merge feature/login"

Para squash:

Terminal
git merge --squash feature/login
git commit -m "Adiciona login"

Para qué sirve

Integrar trabajo paralelo. Los equipos usan merge para unir features desarrolladas en ramas separadas. En flujos con IA, los agentes pueden crear ramas y el merge consolida el resultado.

El merge preserva el historial completo, facilitando auditoría y rollback cuando es necesario.