Resolver un conflicto
Parte de la sección Control de versiones del Journey de Terminal de Coddy — lección 38 de 58.
Abortar es a veces la decisión correcta, pero la mayoría de las veces lo que realmente quieres es resolver el conflicto y finalizar la fusión.
Resolver un conflicto es un ritual de tres pasos:
- Abre el archivo en conflicto. Reemplaza el bloque de marcadores con la versión que desees (o una combinación).
- Prepara el archivo resuelto con
git add. - Finaliza la fusión con
git commit.
Puedes usar un script para sobrescribir el archivo con el contenido resuelto directamente, que es exactamente lo que harás en esta lección (no se necesita editor).
Si olvidas ejecutar git add en el archivo resuelto, el commit fallará y te indicará que el archivo aún está marcado como no fusionado.
Desafío
IntermedioConfigura un conflicto en notes.txt exactamente como en la lección anterior:
- Commit inicial en
maincon el contenidohello - En la rama
alt: cambia ahi from alt, realiza el commit - De vuelta en
main: cambia ahi from main, realiza el commit - Ejecuta
git merge alt(producirá un conflicto)
Resuelve el conflicto sobrescribiendo notes.txt con la línea hi from both. Prepara el archivo (stage) y finaliza la fusión con el mensaje Resolve notes. Imprime el contenido final de notes.txt.
Hoja de referencia
Para resolver un conflicto de fusión:
- Edita el archivo en conflicto: elimina los marcadores de conflicto y conserva el contenido deseado.
- Prepara el archivo resuelto:
git add <file> - Finaliza la fusión:
git commit
git add notes.txt
git commit -m "Resolve conflict"Si omites git add, el commit fallará y el archivo seguirá marcado como no fusionado.
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 identidadGit StatusResumen: Primer repositorio5Ignorar archivos
¿Por qué ignorar archivos?Patrones de .gitignoreComprobar reglas de ignoradoResumen - Repo limpio8Fusión
¿Qué es una fusión?Fusión Fast-ForwardFusión de tres víasConflictos de fusiónResolver un conflictoResumen - Maestro de las fusiones3Seguimiento 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