📦 Git stash explicado fácil: guarda cambios sin hacer commit (y sin perderlos)


https://miro.medium.com/1%2AXurNAi3h2jpD67Pq2OgmrQ%402x.png


Si trabajas con Git, hay una situación muy común:

Estás trabajando… pero necesitas cambiar de rama rápidamente 😅

Y tienes cambios sin terminar.

👉 No quieres hacer commit

👉 No quieres perder lo que hiciste

Aquí es donde entra:

git stash 🚀


🧠 Qué es git stash


git stash es una herramienta que permite:

Guardar temporalmente cambios sin hacer commit

Es como poner tu trabajo en una “caja” 📦

para recuperarlo después.


⚡ Cuándo usar git stash


Usa stash cuando:

✔️ necesitas cambiar de rama rápido

✔️ estás en medio de algo

✔️ no quieres hacer commit aún

✔️ quieres limpiar tu workspace


🧪 Ejemplo real


Estás en una rama:

git status

Resultado:

modified: app.js

Pero necesitas cambiar de rama:

git checkout main

❌ Error: tienes cambios sin guardar



📦 Solución: usar stash

git stash

👉 Git guarda los cambios y limpia tu carpeta



🔄 Cambiar de rama sin problemas

git checkout main


🔁 Recuperar cambios

git stash pop

👉 Tus cambios vuelven como estaban



📚 Comandos principales


Guardar cambios

git stash

Ver lista de stash

git stash list

Ejemplo:

stash@{0}
stash@{1}

Aplicar stash (sin borrarlo)

git stash apply

Aplicar y eliminar (más común)

git stash pop

Eliminar stash

git stash drop

Limpiar todos

git stash clear


🧠 Guardar stash con mensaje

Muy útil 🔥

git stash save "trabajo en login"


📦 Guardar archivos específicos

git stash push archivo.js


🧪 Aplicar stash específico


git stash apply stash@{1}


⚠️ Conflictos con stash


Sí, pueden pasar 😅

Cuando haces:

git stash pop

Y hay cambios en la rama actual:

👉 puede haber conflicto

Solución:

  • igual que merge
  • editar archivo
  • git add


🧠 Diferencia clave


Comando	     Qué hace
stash	     guarda temporalmente
commit	     guarda permanentemente

🧠 Cuándo NO usar stash


❌ para trabajo importante

❌ como sistema de backup

❌ para guardar cosas por días

👉 Para eso usa commits



🧠 Buenas prácticas


✔️ usa mensajes en stash

✔️ limpia stash regularmente

✔️ no acumules muchos

✔️ usa pop en lugar de apply


❌ Errores comunes


❌ olvidar stash

Pierdes el contexto



❌ usar stash como backup

No es su función



❌ no revisar stash list

Puedes perder cambios



📌 Flujo típico

git stash
git checkout otra-rama
# trabajas
git checkout rama-original
git stash pop


🧠 Concepto clave


stash es un “guardado rápido temporal”
👉 no reemplaza commits


🧠 Conclusión:


git stash es una herramienta simple pero poderosa.

Te permite:

  • cambiar de contexto rápidamente
  • trabajar sin miedo
  • evitar commits innecesarios

Y lo mejor:

Es uno de los trucos favoritos de los desarrolladores pro 😄


Volver al post Pilar: