💥 Cómo resolver conflictos en Git paso a paso (sin volverte loco)

Si estás trabajando con Git en serio, tarde o temprano vas a ver esto:
CONFLICT (content): Merge conflict in archivo.js
Y en ese momento… 😅
❗ “¿Qué rompí y cómo lo arreglo?”
Tranquilo. Los conflictos en Git no son un error grave.
Son simplemente una señal de que Git necesita tu ayuda para decidir qué versión conservar.
En esta guía aprenderás:
- qué es un conflicto en Git
- por qué ocurre
- cómo resolverlo paso a paso
- cómo evitarlo
- buenas prácticas reales
🧠 Qué es un conflicto en Git
Un conflicto ocurre cuando:
dos cambios afectan la misma parte de un archivo y Git no sabe cuál elegir
📌 Ejemplo sencillo
Tienes este código:
console.log("Hola mundo");
Rama A cambia esto:
console.log("Hola usuario");
Rama B cambia esto:
console.log("Hola admin");
👉 Git no puede decidir automáticamente.
⚠️ Cuándo ocurren conflictos
Los casos más comunes:
- hacer
git merge - hacer
git rebase - hacer
git pull
🔍 Cómo se ve un conflicto
Git marca el conflicto dentro del archivo:
<<<<<<< HEAD
console.log("Hola usuario");
=======
console.log("Hola admin");
>>>>>>> feature
🧠 Qué significa esto
<<<<<<< HEAD→ tu versión=======→ separador>>>>>>> feature→ versión de la otra rama
🧪 Resolver un conflicto paso a paso
1️⃣ Abrir el archivo
nano archivo.js
2️⃣ Analizar el conflicto
Decide:
- qué código dejar
- o combinar ambos
3️⃣ Editar el archivo
Ejemplo final:
console.log("Hola usuario y admin");
4️⃣ Eliminar marcas
Debes borrar:
<<<<<<< ======= >>>>>>>
5️⃣ Añadir cambios
git add archivo.js
6️⃣ Finalizar operación
Si es merge:
git commit
Si es rebase:
git rebase --continue
🔄 Ejemplo completo
git checkout main git merge feature # conflicto aparece nano archivo.js git add archivo.js git commit
🧠 Conflictos en rebase
En rebase se resuelven uno por uno.
git rebase main
Luego:
git add archivo.js git rebase --continue
❌ Cancelar operación
Cancelar merge
git merge --abort
Cancelar rebase
git rebase --abort
🧠 Herramientas para resolver conflictos
Puedes usar:
- VS Code
- GitKraken
- herramientas visuales
Estas muestran botones como:
- Accept Current
- Accept Incoming
- Accept Both
⚠️ Errores comunes
❌ No eliminar marcas
El código quedará roto
❌ Hacer commit sin revisar
Puede romper la app
❌ Usar rebase sin entender conflictos
❌ Forzar push después de conflicto mal resuelto
🧠 Buenas prácticas
✔️ Haz pull antes de trabajar
✔️ Trabaja con ramas
✔️ Haz commits pequeños
✔️ Comunícate con tu equipo
✔️ Evita editar lo mismo simultáneamente
🧪 Estrategia para evitar conflictos
- dividir tareas
- usar ramas pequeñas
- hacer merge frecuente
🧠 Concepto clave
Git no se equivoca
👉 Solo necesita que tú decidas
📌 Resumen rápido
conflicto → editar → git add → commit / continue
🧠 Conclusión:
Los conflictos en Git son parte del trabajo real.
Dominar esto significa:
- trabajar mejor en equipo
- evitar errores
- tener control total del código
Y lo mejor:
Una vez que los entiendes, dejan de dar miedo 😄