Ruta Full Stack
0✦ 0
Glosario · Git y GitHub · Fase 1

Merge (fusión)

Juntar los cambios de una rama en otra; normalmente, traer la rama de trabajo a main cuando está lista.

✦Apagada: responde bien la pregunta del final para encenderla

También lo verás como: fusión · fusionar · git merge · conflicto · conflictos · conflicto de merge

Analogía

Incorporar las correcciones del borrador al documento original.

Cómo se hace

git switch main          ← vas a la rama que recibe
git merge nombre-rama    ← traes los cambios

Conflictos

Si las dos ramas cambiaron la misma línea de forma distinta, Git no adivina cuál quieres: te pregunta. El archivo queda así:

<<<<<<< HEAD
Abierto hasta las 20:00
=======
Abierto hasta las 21:00
>>>>>>> horario-verano
  • Arriba: lo que había en tu rama actual. Abajo: lo que llega.
  • Lo resuelves dejando el texto correcto y borrando las marcas. VS Code pone botones encima: Aceptar actual / Aceptar entrante / Aceptar ambos.
  • Después: git add archivo y git commit.

Un conflicto no es un error ni una catástrofe. Es Git siendo prudente en lugar de borrar algo sin avisarte.

Con IA

Claude puede resolver conflictos, pero revisa el resultado con el diff: es exactamente el sitio donde se pierden cambios sin que nadie se dé cuenta.

Un paso más: cuándo hay conflicto y cuándo no

Git fusiona solo, sin preguntarte, casi siempre:

  • Si las dos ramas tocaron archivos distintos → sin problema.
  • Si tocaron el mismo archivo en zonas distintas → sin problema.
  • Solo si tocaron las mismas líneas → conflicto.

Cuando hay conflicto, Git se queda a medias: git status te dice qué archivos faltan por resolver. Tienes dos salidas, y las dos son seguras: resolverlo, o cancelar con git merge --abort y volver a como estabas.

Los conflictos se evitan con la misma medicina que todo lo demás: cambios pequeños y fusionados pronto. Una rama que vive tres semanas choca con todo.

Comprueba que lo entendiste

¿Qué es un conflicto de merge?

Ver también

rama · pull request · diff