Sobes.tech
Junior

¿Cómo resuelve los conflictos en Git?

sobes.tech AI

Respuesta de la IA

Cuando se realiza un pull o rebase, ocurre una fusión de cambios. Si Git no puede resolver automáticamente las líneas en conflicto en los archivos, las marca con marcadores especiales:

<<<<<<< HEAD
línea de la rama actual
=======
línea de la rama que se está fusionando
>>>>>>> feature/nueva-funcionalidad

Para resolver el conflicto:

  1. Abre el archivo en conflicto en un editor.

  2. Edita manualmente el archivo, eligiendo las partes necesarias de ambas versiones o creando una nueva combinación.

  3. Elimina los marcadores <<<<<<<, =======, >>>>>>>.

  4. Guarda el archivo.

  5. Añade el archivo resuelto al índice con git add:

    # Añadir un archivo específico
    git add ruta/al/archivo/resuelto.txt
    
    # Añadir todos los archivos resueltos
    git add .
    
  6. Realiza un commit para completar la fusión:

    # Durante la fusión
    git commit -m "Resuelto conflicto de merge"
    
    # Durante rebase
    git rebase --continue
    

Si hay muchos conflictos o son complejos, puedes usar herramientas de fusión:

git mergetool

Esto abrirá una herramienta gráfica que ayuda a recorrer los conflictos paso a paso.

En caso de dificultades durante rebase, puedes usar:

  • git rebase --abort: Cancelar el rebase y volver al estado previo.
  • git rebase --skip: Omitir el commit en conflicto actual (puede ser peligroso).

Es importante probar los cambios después de resolver los conflictos para asegurarse de que el código funciona correctamente.