Control de versiones · Ramas y fusiones
git merge
|
Join two development histories together
Trae los commits de otra rama a la tuya. Si tu rama no se movió desde que nació la otra, git ni siquiera crea un commit: adelanta el puntero, lo que se llama avance rápido. Si las dos avanzaron, crea un commit de fusión con dos padres.
Sintaxis Estándar
git merge RAMA
git merge --no-ff RAMA
Parámetros Soportados
| Flag | Nombre Largo | Descripción |
|---|---|---|
| (sin banderas) | — | Avance rápido si se puede; si no, commit de fusión. |
| --no-ff | — | Fuerza el commit de fusión aunque el avance rápido fuera posible, para que la rama quede visible en el historial. |
| --abort | — | Cancela una fusión que quedó a medias por conflictos y deja todo como estaba. |
Caso Práctico
Incorporar una funcionalidad terminada, desde la rama que la recibe:
git switch main
git merge corte-por-mora
El error que comete todo el mundo
La fusión se ejecuta desde la rama que RECIBE. Un error clásico es estar parado en la rama de la funcionalidad y fusionar main ahí: funciona, pero hace lo contrario de lo que se quería.
Laboratorio Interactivo
Asistente de Laboratorio SudoQuest
Esperando comandos... Escribe una instrucción en la terminal interactiva para desglosar su comportamiento aquí.