Git stash = guardar temporalmente tus modificaciones SIN commit.
Analogía: es como guardar tus cosas en un cajón secreto antes de hacer otra cosa.
¿Por qué?
git stash → cambiar de rama → arreglar → volver → git stash popmkdir demo-stash && cd demo-stash
git init
echo "print('v1')" > app.py
git add . && git commit -m "Versión inicial"
# Empiezas a programar
echo "print('work in progress')" >> app.py
# ¡URGENCIA! Tienes que cambiar de rama
git stash # Guardar el WIP
git status # Working directory limpio
# Hacer otra cosa...
git checkout -b hotfix
echo "print('CRITICAL FIX')" > fix.py
git add . && git commit -m "Urgent fix"
# Volver al trabajo original
git checkout main
git stash pop # Recuperar el work in progress¡Magia! Tus modificaciones han vuelto.
| Comando | Acción |
|---|---|
git stash | Guardar las modificaciones |
git stash pop | Recuperar + eliminar del stash |
git stash list | Ver todos los stash |
git stash apply | Recuperar SIN eliminar |
git stash drop | Eliminar un stash |
git stash clear | Vaciar todos los stash |
Situación clásica:
git stashgit stash popStash = tu mejor aliado ante las interrupciones.