Conflictos de fusión

Git intermedio

George Boorman

Curriculum Manager, DataCamp

Conflictos

  • Conflicto

    • Incapacidad de resolver diferencias en el contenido de uno o varios archivos entre ramas
  • Edita el mismo archivo en dos ramas

  • Intenta fusionar

  • Git no sabe qué versión mantener

  • ¡Conflicto!

Git intermedio

Versiones en conflicto de README.md

Rama documentation

# Contenido y uso

Este repo contiene código fuente 
para el sitio web de DataCamp.

También contiene código fuente para un 
Asistente de IA (sistema de recomendación) 
que recibe indicaciones de estudiantes y 
devuelve contenido sugerido
que podría interesarles. 

Es solo para uso interno; 
se prohíbe el acceso externo.

Rama main

# Contenido y uso

Este repo contiene código fuente 
para el sitio web de DataCamp.

Es solo para uso interno; 
se prohíbe el acceso externo.
Git intermedio

Fusión

  • Desde la rama main
git merge documentation
Auto-merging README.md
CONFLICT (add/add): Merge conflict in README.md
Automatic merge failed; fix conflicts and then commit the result.
Git intermedio

Abrir el archivo

nano README.md

archivo README mostrando secciones de conflicto en nano

Git intermedio

Sintaxis de conflictos en Git

archivo con conflicto anotado que muestra el contenido en la rama main frente a la rama documentation

Git intermedio

Resolver el conflicto

editor web de nano eliminando la sintaxis de Git <<<<<<< documentation, ======= y >>>>>>> HEAD

  • Guardar: Ctrl + O (no Ctrl + 0), luego Enter
  • Salir: Ctrl + X
Git intermedio

Fusionar las ramas

  • Fusionar ahora que el conflicto está resuelto
git add README.md
git commit -m "Resolving README.md conflict"
git merge documentation
Already up to date.
  • Mejor prevenir que curar.
Git intermedio

¡Vamos a practicar!

Git intermedio

Preparing Video For Download...