Conflictos de Fusión
Desliza para mostrar el menú
Comprensión de los conflictos de fusión
Un conflicto de fusión ocurre cuando Git no puede reconciliar automáticamente los cambios realizados en dos ramas divergentes. Esto suele suceder cuando se modifican las mismas líneas de código en los mismos archivos en ambas ramas desde su último ancestro común.
Ejemplo de flujo de trabajo
Primero, listar todas las ramas en el repositorio:
git branch
Actualmente estás en la rama master, así que modifica el archivo branch_learning.txt añadiendo una nueva línea y realiza el commit de este cambio directamente:
echo "New line from the master branch" >> branch_learning.txt
git commit -a -m "Add a new line specifying the master branch to branch_learning.txt"
Ahora cambia a la rama feature, agrega una línea diferente al archivo branch_learning.txt y realiza el commit directamente de este cambio:
git checkout feature/new-feature
echo "New line from the feature branch" >> branch_learning.txt
git commit -a -m "Add a new line specifying the feature branch to branch_learning.txt"
Ambos commits se realizaron con éxito, así que cambia de nuevo a la rama master y fusiona la rama feature con ella:
git checkout master
git merge feature/new-feature
Ups, se produjo un conflicto de fusión porque la misma línea en el mismo archivo difiere entre ramas, y Git no puede resolverlo automáticamente.
Ejecutemos también el comando git status para obtener más información sobre el conflicto:
git status
Este mensaje indica que debes abortar la fusión o resolver los conflictos y luego confirmar los cambios. Se continuará con la segunda opción y se resolverán los conflictos en el siguiente capítulo.
¡Gracias por tus comentarios!
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla