Fusión
- En inglés: merging / merge
La fusión combina los cambios de una rama con otra. Suele hacerse cuando una funcionalidad o corrección de errores ya está terminada en una rama separada y toca integrarla en la rama main del proyecto. El resultado reúne los cambios de ambas ramas en una única versión del proyecto.
La fusión es esencial para colaborar y avanzar en paralelo con distintas funcionalidades o correcciones. Las ramas separadas permiten trabajar de forma independiente sin interferir en el progreso de los demás. Cuando el trabajo de una rama está completo y probado, puede integrarse en main para que los cambios queden disponibles para todo el mundo.
Al fusionar, Git intenta combinar automáticamente los cambios de la rama de origen con los de la rama de destino. Si no entran en conflicto entre sí (es decir, modifican partes distintas del código), Git hará una fusión fast-forward: basta con mover el puntero de la rama de destino al último commit de la rama de origen.
Si los cambios son incompatibles (por ejemplo, porque ambas ramas han modificado las mismas líneas), Git se detendrá con un conflicto que tendrás que resolver antes de completar la fusión. Para ello, revisa los cambios enfrentados, decide cuáles conservar y modifica el código en consecuencia.
Ejemplos
Supón que estás trabajando en una aplicación web y necesitas implementar una funcionalidad nueva de registro de usuarios. Creas una rama nueva llamada login-form-feature para trabajar en ella:
git switch -c login-form-featureDespués de completar la funcionalidad y probarla a fondo, quieres hacer un merge de esos cambios en la rama main:
git switch maingit merge login-form-feature
Git intentará integrar los cambios de la rama login-form-feature en la rama main. Si no hay conflictos, la fusión se completará automáticamente.
.gitignoregit checkoutgit configgit taggit worktree