Menu
Coddy logo textTech

Git Stash

Última actualización

git stash guarda tus cambios sin confirmar y devuelve tu árbol de trabajo a un estado limpio, para que puedas cambiar de rama o hacer pull sin confirmar trabajo a medias. Los cambios van a una pila que puedes volver a aplicar más tarde con git stash pop (aplicar y eliminar) o git stash apply (aplicar y conservar).

Prueba estos comandos en el terminal playground: un shell real en tu navegador, sin nada que instalar.

Sintaxis

CommandWhat it does
git stashGuarda los cambios rastreados y limpia el árbol de trabajo
git stash -uTambién guarda los archivos sin seguimiento
git stash push -m "msg"Guarda con un mensaje descriptivo
git stash push <file>Guarda solo un archivo específico
git stash listLista todos los stashes
git stash popVuelve a aplicar el último stash y lo elimina
git stash applyVuelve a aplicar el último stash y lo conserva
git stash dropElimina el último stash
git stash clearElimina todos los stashes

pop vs apply

Behaviorgit stash popgit stash apply
Vuelve a aplicar los cambios
Elimina el stash despuésNo
Útil para reutilizar un stashNo

Preguntas frecuentes sobre git stash

¿Qué hace git stash?
Guarda tus cambios sin confirmar en una pila y restablece tu árbol de trabajo al último commit, dándote un punto de partida limpio. Tus cambios no se pierden: quedan guardados y puedes volver a aplicarlos más tarde con git stash pop o git stash apply. Es práctico cuando necesitas cambiar de rama pero aún no estás listo para confirmar.
¿Cuál es la diferencia entre git stash pop y git stash apply?
Ambos vuelven a aplicar tu stash más reciente al árbol de trabajo. git stash pop además elimina ese stash de la pila después, mientras que git stash apply lo deja en la pila para que puedas aplicarlo de nuevo en otro lugar. Usa pop para una restauración única y apply cuando quieras reutilizar el stash.
¿git stash incluye los archivos sin seguimiento?
No por defecto: un git stash normal solo guarda los archivos rastreados (modificados). Añade -u (git stash -u) para incluir los archivos sin seguimiento, o -a para incluir también los archivos ignorados. Sin esos flags, los archivos nuevos a los que no les has hecho git add permanecen en tu árbol de trabajo.
¿Cómo aplico un stash específico?
Ejecuta git stash list para verlos numerados como stash@{0}, stash@{1}, y luego git stash apply stash@{1} (o pop) para volver a aplicar uno en concreto. Cada stash también muestra la rama y el mensaje con los que se creó, para que puedas distinguirlos.
¿Puedo practicar esto en línea?
Sí. Abre el terminal playground para ejecutar git stash en un shell real en tu navegador, sin nada que instalar. El curso interactivo y gratuito de Git de Coddy también cubre paso a paso cómo gestionar el trabajo en curso.
Coddy programming languages illustration

Aprende Git con Coddy

COMENZAR