Title: Actividad 4: Resolución de conflictos en GitHub
Course: 2025 - LISI/LI - Desarrollo de Software Avanzado > Section: Github

🎯 Objetivo

Comprender cómo se producen los conflictos de fusión (merge conflicts) y aprender a resolverlos desde la página de GitHub, sin usar la terminal.

🧠 Contexto

Un conflicto ocurre cuando dos ramas modifican la misma línea de un archivo.
Git no puede decidir qué versión conservar, por eso pide intervención manual.
En esta práctica tú mismo provocarás un conflicto y lo resolverás.

⚙️ Instrucciones paso a paso

Repositorio a usar:
👉 https://github.com/erick-sv/github-training

🪜 Parte 1 – Preparación del conflicto

1. Clona el repositorio y crea una nueva rama principal de prueba:

git clone https://github.com/erick-sv/github-training.git
cd github-training
git switch -c conflicto-main


1. Edita o crea un archivo llamado conflicto.html

echo "<p>Versión original en la rama conflicto-main</p>" > conflicto.html
git add .
git commit -m "Versión original del archivo"
git push -u origin conflicto-main


1. Crea una rama secundaria que cause el conflicto

git switch -c conflicto-rama


1. Edita el mismo archivo pero cambia la línea

echo "<p>Versión modificada desde la rama conflicto-rama</p>" > conflicto.html
git add .
git commit -m "Cambio en conflicto.html desde conflicto-rama"
git push -u origin conflicto-rama


1. Vuelve a la rama conflicto-main y cambia la misma línea también

git switch conflicto-main
echo "<p>Cambio diferente hecho en la rama conflicto-main</p>" > conflicto.html
git add .
git commit -m "Cambio diferente en conflicto.html"
git push


🧨 Parte 2 – Crear el conflicto en GitHub

1. En GitHub, abre un Pull Request desde la rama conflicto-rama hacia conflicto-main.
2. GitHub detectará automáticamente un conflicto de fusión.
Verás un mensaje como:
“This branch has conflicts that must be resolved.”
3. Haz clic en Resolve conflicts.

🛠️ Parte 3 – Resolver el conflicto (en GitHub Web)

1. GitHub mostrará el archivo con delimitadores:

<<<<<<< conflicto-main
<p>Cambio diferente hecho en la rama conflicto-main</p>
=======
<p>Versión modificada desde la rama conflicto-rama</p>
>>>>>>> conflicto-rama


2. Borra las marcas (<<<<<<<, =======, >>>>>>>) y deja solo la versión final corregida, por ejemplo:

<p>Versión final combinada del conflicto</p>


3. Haz clic en Mark as resolved
4. Luego selecciona Commit merge para finalizar.

✅ Parte 4 – Confirmación

1. Fusiona el PR (botón Merge pull request)
2. Verifica en el archivo conflicto.html que aparezca el texto final combinado.
3. ¡Listo! Has resuelto un conflicto directamente desde GitHub.

🎯 Objetivo

Comprender cómo se producen los conflictos de fusión (merge conflicts) y aprender a resolverlos desde la página de GitHub, sin usar la terminal.

🧠 Contexto

Un conflicto ocurre cuando dos ramas modifican la misma línea de un archivo.
Git no puede decidir qué versión conservar, por eso pide intervención manual.
En esta práctica tú mismo provocarás un conflicto y lo resolverás.

⚙️ Instrucciones paso a paso

Repositorio a usar:
👉 https://github.com/erick-sv/github-training

🪜 Parte 1 – Preparación del conflicto

1. Clona el repositorio y crea una nueva rama principal de prueba:

git clone https://github.com/erick-sv/github-training.git
cd github-training
git switch -c conflicto-main


1. Edita o crea un archivo llamado conflicto.html

echo "<p>Versión original en la rama conflicto-main</p>" > conflicto.html
git add .
git commit -m "Versión original del archivo"
git push -u origin conflicto-main


1. Crea una rama secundaria que cause el conflicto

git switch -c conflicto-rama


1. Edita el mismo archivo pero cambia la línea

echo "<p>Versión modificada desde la rama conflicto-rama</p>" > conflicto.html
git add .
git commit -m "Cambio en conflicto.html desde conflicto-rama"
git push -u origin conflicto-rama


1. Vuelve a la rama conflicto-main y cambia la misma línea también

git switch conflicto-main
echo "<p>Cambio diferente hecho en la rama conflicto-main</p>" > conflicto.html
git add .
git commit -m "Cambio diferente en conflicto.html"
git push


🧨 Parte 2 – Crear el conflicto en GitHub

1. En GitHub, abre un Pull Request desde la rama conflicto-rama hacia conflicto-main.
2. GitHub detectará automáticamente un conflicto de fusión.
Verás un mensaje como:
“This branch has conflicts that must be resolved.”
3. Haz clic en Resolve conflicts.

🛠️ Parte 3 – Resolver el conflicto (en GitHub Web)

1. GitHub mostrará el archivo con delimitadores:

<<<<<<< conflicto-main
<p>Cambio diferente hecho en la rama conflicto-main</p>
=======
<p>Versión modificada desde la rama conflicto-rama</p>
>>>>>>> conflicto-rama


2. Borra las marcas (<<<<<<<, =======, >>>>>>>) y deja solo la versión final corregida, por ejemplo:

<p>Versión final combinada del conflicto</p>


3. Haz clic en Mark as resolved
4. Luego selecciona Commit merge para finalizar.

✅ Parte 4 – Confirmación

1. Fusiona el PR (botón Merge pull request)
2. Verifica en el archivo conflicto.html que aparezca el texto final combinado.
3. ¡Listo! Has resuelto un conflicto directamente desde GitHub.