Git Stash

1 min

Tabla de contenidos

  1. ¿Qué es stash?
  2. Práctica inmediata
  3. Comandos esenciales
  4. Caso de uso típico

1. ¿Qué es stash?

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é?

  • Codificas en feature-A
  • URGENCIA: bug crítico en main
  • No quieres hacer commit de código a medias
  • Solución: git stash → cambiar de rama → arreglar → volver → git stash pop

Volver a la tabla de contenidos

2. Práctica inmediata

bash
mkdir 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.

Volver a la tabla de contenidos

3. Comandos esenciales

ComandoAcción
git stashGuardar las modificaciones
git stash popRecuperar + eliminar del stash
git stash listVer todos los stash
git stash applyRecuperar SIN eliminar
git stash dropEliminar un stash
git stash clearVaciar todos los stash

Volver a la tabla de contenidos

4. Caso de uso típico

Situación clásica:

  1. Codificas con calma
  2. Compañero: "¡Hay un bug en prod!"
  3. Tú: git stash
  4. Arreglo rápido y despliegue
  5. Tú: git stash pop
  6. Sigues como si no hubiera pasado nada

Stash = tu mejor aliado ante las interrupciones.

Volver a la tabla de contenidos