Introducción al Error de Conflictos en Git
Uno de los dolores de cabeza más comunes para los desarrolladores que trabajan en equipo utilizando control de versiones es el temido Merge Conflict en Git. Este error detiene el flujo de trabajo y requiere la intervención manual para decidir qué cambios deben prevalecer antes de integrar las ramas.
¿Cuáles son las Causas del Merge Conflict?
Los conflictos de fusión ocurren principalmente debido a las siguientes razones:
- Dos desarrolladores modifican exactamente la misma línea de un archivo en ramas distintas.
- Un desarrollador intenta fusionar (
git merge) o aplicar un rebase (git rebase) de una rama que está desactualizada respecto al repositorio remoto. - Se elimina un archivo en una rama mientras que en la otra rama se realizaron modificaciones sobre ese mismo archivo.
Método 1: Solucionar el Conflicto Manualmente en el Editor de Código
Cuando Git detecta un conflicto, marca el archivo afectado con delimitadores especiales. Sigue estos pasos para resolverlo:
- Identifica los archivos en conflicto ejecutando el siguiente comando en tu terminal:
git status - Abre el archivo señalado en tu editor de código favorito (por ejemplo, VS Code). Verás secciones marcadas con
<<<<<<< HEAD,=======y>>>>>>> branch-name. - Modifica el código manualmente para dejar únicamente la versión correcta que deseas conservar, eliminando las líneas de marcado de Git.
- Guarda el archivo y añade los cambios al área de preparación usando:
git add - Finalmente, completa la fusión ejecutando:
git commit -m "Resuelto conflicto de fusion"
Método 2: Usar Herramientas Visuales (Git GUI o VS Code)
Si prefieres no editar los archivos de texto plano manualmente, puedes utilizar interfaces gráficas integradas.
- Abre tu proyecto en Visual Studio Code. En la sección de control de código fuente aparecerán los archivos en conflicto.
- VS Code te ofrecerá opciones directas como "Accept Current Change" (Aceptar cambio actual), "Accept Incoming Change" (Aceptar cambio entrante) o "Accept Both Changes" (Aceptar ambos).
- Selecciona la opción que mejor se adapte a las necesidades de tu lógica de programación.
- Haz clic en el botón de confirmación o realiza el commit directamente desde la interfaz gráfica para finalizar el proceso con éxito.