Conflictos de fusión
Parte de la sección Control de versiones del Journey de Terminal de Coddy — lección 37 de 58.
Si ambas ramas cambiaron las mismas líneas del mismo archivo, Git no puede adivinar qué versión conservar. Detiene la fusión y te pide que decidas.
El archivo en conflicto recibe marcadores especiales que muestran ambas versiones:
<<<<<<< HEAD
the version on main
=======
the version on feature
>>>>>>> featureTu trabajo es editar el archivo a mano: elige una versión, combínalas o escribe algo nuevo. Luego, elimina todos los marcadores de conflicto (las líneas <<<, ===, >>>).
Una vez que el archivo se vea correcto, prepáralo para el commit y finaliza la fusión con otro commit:
git add notes.txt
git commit -m "Resolve merge conflict in notes"Si cambias de opinión a mitad del proceso, puedes abortar todo y volver al estado previo a la fusión:
git merge --abortDesafío
IntermedioLa carpeta contiene notes.txt con la línea hello.
Inicializa el repositorio y haz un commit del archivo inicial. Crea una rama llamada alt, cambia notes.txt para que diga hi from alt y haz un commit.
Vuelve a main, cambia notes.txt para que diga hi from main y haz un commit.
Intenta fusionar alt en main. La fusión entrará en conflicto. Abórtala con git merge --abort, luego imprime el contenido de notes.txt con cat para confirmar que el archivo ha vuelto a la versión de main.
Hoja de referencia
Cuando ambas ramas editan las mismas líneas, Git pausa la fusión y añade marcadores de conflicto al archivo:
<<<<<<< HEAD
the version on main
=======
the version on feature
>>>>>>> featureEdita el archivo para obtener el resultado deseado, elimina todos los marcadores, luego realiza el stage y el commit:
git add notes.txt
git commit -m "Resolve merge conflict in notes"Para cancelar la fusión y restaurar el estado previo a la fusión:
git merge --abortPruébalo tú mismo
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Control de versiones
2Primeros pasos
Inicializar un repositorioLa carpeta .gitConfigurar tu identidadGit StatusResumen: Primer repositorio5Ignorar archivos
¿Por qué ignorar archivos?Patrones de .gitignoreComprobar reglas de ignoradoResumen - Repo limpio3Seguimiento de cambios
El área de preparaciónGit AddGit CommitModificar un archivo bajo seguimientoGit LogResumen - Primeros commits6Proyecto de Sitio de Recetas
Descripción General del ProyectoInicializar e Ignorar