Introducción al Error de Conflicto de Fusión en Git
Trabajar en equipo con control de versiones es fundamental, pero a menudo nos enfrentamos al temido Merge Conflict en Git. Este error ocurre cuando dos ramas modifican la misma línea de un archivo de maneras diferentes, o cuando un archivo fue eliminado en una rama pero modificado en la otra, impidiendo que Git decida automáticamente qué cambios conservar.
¿Cuáles son las Causas del Merge Conflict?
Los conflictos de fusión suelen aparecer en escenarios muy específicos durante el flujo de trabajo de desarrollo:
- Dos desarrolladores editan el mismo archivo y la misma línea de código antes de hacer un
git pullogit merge. - Intentar fusionar ramas (branches) con historias divergentes y cambios incompatibles.
- Aplicar un
git rebasesobre commits que colisionan con el estado actual de la rama destino.
Método 1: Solucionar el Conflicto Manualmente
Cuando Git detiene la fusión debido a un conflicto, puedes seguir estos pasos para resolverlo directamente en tu editor de código:
- Abre tu terminal y ejecuta
git statuspara identificar los archivos que presentan conflictos (aparecen marcados como both modified). - Abre el archivo afectado en tu editor (como VS Code). Verás marcas de delimitación añadidas por Git como
<<<<<<<,=======y>>>>>>>. - Edita el código para dejar únicamente la versión deseada, eliminando las líneas de marcado de Git.
- Guarda el archivo modificado.
- Agrega el archivo solucionado al área de intercambio ejecutando
git add <nombre-del-archivo>. - Finalmente, completa la fusión escribiendo
git commit -m "Resuelto conflicto de merge".
Método 2: Usar Herramientas Visuales (GUI)
Si prefieres no editar las marcas de texto manualmente, puedes utilizar una interfaz gráfica para resolver los conflictos de manera más intuitiva:
- Utiliza un editor compatible como Visual Studio Code, el cual detecta automáticamente los conflictos y ofrece botones como Accept Current Change, Accept Incoming Change o Accept Both Changes.
- Haz clic en la opción que mejor se adapte a las necesidades de tu lógica de programación.
- Una vez aplicado el cambio visual, guarda el archivo.
- Haz commit de los cambios usando la pestaña de Control de Código Fuente de tu IDE o mediante la terminal con
git commit.