# Guardar trabajo en curso en un Stash con Git > Guía práctica para guardar trabajo en curso con git stash: crea stashes, recupéralos, revisa diferencias y elimina cambios temporales en Git. - URL canónica: https://www.martagonzalez.dev/blog/guardar-trabajo-en-curso-en-un-stash-con-git/ - Fecha de publicación: 2022-11-19T13:53:49 - Última actualización: 2026-06-15T11:36:26 --- ![Imagen del artículo](https://martagonzalez.dev/wp/wp-content/uploads/2022/11/guardar-trabajo-en-curso-stash-git-1024x683.avif) Cuando trabajamos con Git, no siempre tenemos los cambios listos para hacer un commit. A veces estamos en mitad de una tarea, aparece una urgencia, necesitamos cambiar de rama o simplemente queremos probar algo sin perder lo que ya hemos avanzado. Para esos casos existe git stash , un comando que permite guardar temporalmente los cambios en curso y dejar el directorio de trabajo limpio, sin tener que crear un commit provisional. Es como poner tu trabajo “en pausa” para recuperarlo más tarde justo donde lo dejaste. En esta guía veremos cómo usar git stash para guardar cambios, listar los stashes creados, recuperarlos, revisar diferencias y eliminar los que ya no necesitas. ## Guardar cambios en un stash git stash Un stash es algo similar a un borrador, se trata de una forma rápida o sucia de preservar cambios en un espacio provisional de forma local con los que posteriormente podremos seguir trabajando. Podemos tener varios borradores de nuestros cambios que podemos listar con el comando git stash list . ## Listar stashes creados git stash list También podemos guardar un stash incluyendo un mensaje y poder diferenciarlo en el caso de que tengamos varios elementos en la lista de stashes . ## Diferenciar stash con mensaje descriptivo git stash save "mensaje descriptivo" Para recuperar cambios de un stash tenemos varias opciones. ## Recuperar cambios de un stash Si lo que queremos es recuperar los últimos cambios desde el stash utilizaremos el siguiente comando: git stash pop O también podemos utilizar el siguiente comando: git stash apply Con ambos comandos podemos recuperar cambios de un stash específico. git stash pop stash@{} git stash apply stash@{} ## Mostrar diferencias en un stash Podemos ver las diferencias de un stash de forma resumida mediante el comando: git stash show O utilizar la opción -p (o –patch) para ver todas las diferencias de un stash: git stash show -p Al recuperar cambios de un stash éste no se elimina automáticamente por lo que es recomendable hacerlo de forma manual. Para eliminar cambios tenemos varias opciones. ## Eliminar cambios recientes git stash drop También podemos hacerlo especificando el índice de un stash en concreto. git stash drop stash@{} ## Eliminar todos los cambios git stash clear Para ampliar información, puedes consultar la [documentación oficial de git stash](https://git-scm.com/docs/git-stash), donde se detallan las opciones disponibles para guardar, listar, aplicar y eliminar stashes. También puedes revisar el capítulo [Stashing and Cleaning](https://git-scm.com/book/en/v2/Git-Tools-Stashing-and-Cleaning) del libro oficial de Git, especialmente si quieres entender mejor cómo encaja el stash dentro del flujo de trabajo diario. ## Preguntas frecuentes sobre git stash ### ¿Cuál es la diferencia entre git stash pop y git stash apply? git stash pop recupera los cambios guardados y, si se aplican correctamente, elimina ese stash de la lista. En cambio, git stash apply recupera los cambios pero mantiene el stash guardado, por si quieres volver a utilizarlo más adelante. ### ¿Git stash guarda también archivos nuevos? Por defecto, git stash guarda cambios en archivos que Git ya está siguiendo, pero no incluye archivos nuevos no trackeados. Para guardar también esos archivos, puedes usar git stash -u o git stash push -u . ### ¿Cuándo conviene usar git stash en lugar de hacer un commit? Conviene usar git stash cuando los cambios todavía están incompletos, no quieres ensuciar el historial con un commit provisional o necesitas cambiar de rama rápidamente. Si el cambio ya está terminado, probado y tiene sentido dentro del historial del proyecto, lo más recomendable es hacer un commit.