Git y GitHubGit BásicoLección 5 de 15
Stash y Recuperación
git stash es como un cajón temporal para guardar cambios sin hacerles commit. Escenario típico: estás trabajando en una feature a mitad cuando llega un bug urgente. git stash guarda tus cambios, arreglas el bug, haces commit, y git stash pop recupera tu trabajo donde lo dejaste.
Para deshacer cambios, Git moderno tiene comandos más claros: git restore archivo descarta cambios en el directorio de trabajo. git restore --staged archivo quita archivos del staging sin perder los cambios. git revert commit crea un commit que deshace otro de forma segura. git reset mueve HEAD pero es más peligroso en ramas compartidas.
# Guardar cambios en el stash
git stash
# Con mensaje descriptivo
git stash push -m "trabajo en progreso: formulario login"
# Ver lista de stashes guardados
git stash list
# stash@{0}: WIP on main: abc1234 último commit
# stash@{1}: trabajo en progreso: formulario login
# Recuperar el último stash (y eliminarlo de la lista)
git stash pop
# Aplicar un stash específico (sin eliminarlo)
git stash apply stash@{1}
# Eliminar un stash de la lista
git stash drop stash@{0}
# Eliminar todos los stashes
git stash clear
# --- RESTAURAR ARCHIVOS ---
# Descartar cambios en un archivo (volver al último commit)
git restore archivo.js
# Quitar un archivo del staging (deshacer git add)
git restore --staged archivo.js
# Forma antigua (todavía funciona pero menos clara)
git checkout -- archivo.js
Consejo📦 Usa mensajes descriptivos en tus stashes: git stash push -m "descripción". Con múltiples stashes es imposible recordar qué contiene cada uno sin mensaje.
Practica esta lección
Resuelve los ejercicios del curso de Git y GitHub en la app, gratis y con corrección automática.
Empezar a practicar