Git & GitHub – DÍA 4
Ramas (branches), merges y resolución simple de conflictos
(trabajar en paralelo sin romper nada)
1. Objetivo del día
Hoy vas a aprender:
- qué es una rama en Git
- cómo crear nuevas ramas
- cómo cambiar entre ramas
- cómo fusionarlas (merge)
- qué son los conflictos
- cómo resolver un conflicto básico
- cómo eliminar ramas
- buenas prácticas profesionales
Si hoy consigues crear y fusionar ramas → Día 4 completado.
2. ¿Qué es una rama?
En Git, una rama es como una “línea paralela” donde puedes trabajar sin tocar la versión principal del proyecto.
La rama principal se llama normalmente:
main
Pero puedes crear ramas como:
feature-login
arreglar-bug
prueba-servidor
Una rama te permite:
- experimentar sin romper nada
- trabajar en paralelo contigo mismo
- tener versiones separadas
- fusionar cuando estés listo
3. Ver ramas existentes
git branch
La rama activa tendrá un *:
* main
4. Crear una rama nueva
git branch mi-rama
5. Cambiar de rama
git checkout mi-rama
O el método moderno más cómodo:
git switch mi-rama
6. Crear y cambiar en un paso
git checkout -b nueva-rama
o:
git switch -c nueva-rama
7. Trabajar en la rama
En tu nueva rama:
- modificas archivos
- haces commits
- pruebas cosas
Nada de esto afecta a main.
8. Fusionar ramas (merge)
Cuando ya estás listo para unir tu trabajo con main:
- Cambia a la rama principal:
git checkout main
o:
git switch main
- Fusiona:
git merge mi-rama
Si no hay conflicto:
Fast-forward
Y listo.
9. Eliminar una rama (cuando ya no la necesitas)
git branch -d mi-rama
Si Git te dice que no puede borrarla porque no está fusionada:
git branch -D mi-rama
⚠️ Esto la borra sin mirar.
10. Conflictos de fusión (muy simple)
Un conflicto ocurre cuando:
- dos ramas modifican la misma parte del mismo archivo
- Git no sabe cuál versión conservar
Git te muestra algo así:
<<<<<<< HEAD
línea desde main
=======
línea desde mi-rama
>>>>>>> mi-rama
Significa:
HEAD→ la versión de la rama donde estás (ej. main)=======→ separación>>>>>> mi-rama→ la versión de la otra rama
¿Cómo se resuelve?
- Abres el archivo con conflicto
- Editas para dejar SOLO la versión correcta
- Guardas el archivo
- Le dices a Git que resolviste:
git add archivo.txt
git commit
Y listo.
11. Práctica guiada (30 minutos)
1) Crear una rama
git switch -c prueba-rama
2) Editar archivo
echo "Línea en rama prueba-rama" >> archivo.txt
git add archivo.txt
git commit -m "Nueva línea en rama"
3) Cambiar a main
git switch main
4) Editar el mismo archivo de forma distinta
echo "Línea diferente en main" >> archivo.txt
git add archivo.txt
git commit -m "Cambio en main"
5) Intentar fusionar
git merge prueba-rama
→ Esto provocará un conflicto.
6) Resolver conflicto:
- Abrir archivo
- Eliminar los marcadores de conflicto (
<<<,===,>>>) - Dejar solo el contenido final deseado
- Añadir:
git add archivo.txt
- Finalizar merge:
git commit
🎉 ¡Conflicto resuelto!
12. Checklist del Día 4
- Sabes crear ramas
- Sabes cambiar de rama
- Commiteas en ramas distintas
- Fusionas con
git merge - Eliminaste ramas
- Resolviste un conflicto básico
- Entiendes los marcadores de conflicto
Si has marcado todo → Día 4 superado.
13. Ejercicio sugerido
Crea:
- rama
feature-logs - añade logs a un script
- cambia a main
- modifica el mismo script en otra línea
- merge + conflicto
- resolver manualmente
- push a GitHub
Esto te prepara para los flujos de trabajo más comunes.
14. Día 4 completado
Ya sabes usar una de las características más potentes de Git: trabajar en paralelo sin romper nada.
Mañana vamos a un día que hace tu repositorio mucho más profesional:
👉 Día 5 – GitHub profesional: issues, README, wiki, releases y buenas prácticas.
Este cambia totalmente la forma de trabajar.
