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 y finaliza la fusión con otra confirmación:
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 confirma el archivo inicial. Crea la rama alt, cambia notes.txt para que diga hi from alt y confirma.
Vuelve a main, cambia notes.txt para que diga hi from main y confirma.
Intenta fusionar alt en main. La fusión generará un conflicto. Cancélala con git merge --abort; después, muestra el contenido de notes.txt con cat para confirmar que el archivo volvió a la versión de main.
Prué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 identidadEstado de GitRepaso: primer repositorio5Ignorar archivos
Por qué ignorar archivosPatrones de GitignoreComprobar reglas de ignoradoRepaso: repositorio limpio8Fusión
¿Qué es una fusión?Fusión de avance rápidoFusión de tres víasConflictos de fusiónResolver un conflictoRepaso: maestro de fusiones11Proyecto con una rama de funcionalidades
Descripción general del proyectoInicializar main3Seguimiento de cambios
El área de preparaciónGit AddGit CommitModificar un archivo rastreadoGit LogRepaso: primeros commits6Proyecto de sitio de recetas
Descripción general del proyectoInicializar e ignorarPractica por tu cuenta: Playground de Terminal