Introducción
Git stash es una función poderosa que te permite guardar temporalmente tus cambios locales sin confirmarlos (commit). En este tutorial, aprenderás cómo ver los cambios en un Git stash, así como cómo administrar y trabajar de manera efectiva con los cambios guardados en el stash.
Comprendiendo Git Stash
Git Stash es una función poderosa en Git que te permite guardar temporalmente tus cambios locales sin confirmarlos (commit). Esto es especialmente útil cuando necesitas cambiar a una rama (branch) o tarea diferente, pero no quieres perder el trabajo que has realizado.
Cuando guardas tus cambios en el stash, Git crea una nueva entrada de stash que contiene el estado actual de tu directorio de trabajo y el índice (index). Luego puedes cambiar a una rama diferente, trabajar en algo más y restaurar los cambios guardados en el stash más tarde.
Los principales casos de uso de Git Stash incluyen:
Cambio de Ramas: Cuando necesitas cambiar a una rama diferente pero tienes cambios no confirmados, puedes guardar tus cambios en el stash, cambiar a la otra rama y luego aplicar los cambios guardados en el stash más tarde.
Aplicación de Cambios Parciales: Si tienes una mezcla de cambios que deseas confirmar por separado, puedes guardar en el stash los cambios que no quieres confirmar inmediatamente, confirmar los cambios que sí quieres confirmar y luego aplicar los cambios guardados en el stash más tarde.
Limpieza de tu Espacio de Trabajo: Si tienes muchos archivos no rastreados (untracked) o modificados en tu directorio de trabajo, puedes guardarlos en el stash para limpiar tu espacio de trabajo antes de extraer (pull) o fusionar (merge) cambios de un repositorio remoto.
Para usar Git Stash, puedes ejecutar los siguientes comandos:
## Stash your current changes
git stash
## List all stashed changes
git stash list
## Apply the most recent stash
git stash apply
## Apply a specific stash
git stash apply stash@{index}
## Drop the most recent stash
git stash drop
## Apply and then drop the most recent stash
git stash pop
Al comprender los conceptos básicos de Git Stash, puedes administrar eficazmente tus cambios locales y cambiar entre tareas o ramas sin perder tu trabajo.
Ver los cambios en un stash
Después de haber guardado tus cambios en el stash, es posible que desees revisar qué cambios se guardaron realmente. Git ofrece varias formas de ver los cambios en un stash.
Listar los cambios guardados en el stash
Para ver una lista de todos los cambios guardados en el stash, puedes utilizar el comando git stash list:
git stash list
Esto mostrará todos los cambios guardados en el stash, incluyendo el mensaje de confirmación (commit message), la rama (branch) desde la cual se guardaron los cambios y el índice del stash.
Ver la diferencia (diff) de un stash
Para ver los cambios reales que se guardaron en el stash, puedes utilizar el comando git stash show. Esto mostrará la diferencia entre los cambios guardados en el stash y el estado actual del repositorio.
## View the diff of the most recent stash
git stash show
## View the diff of a specific stash
git stash show stash@{index}
También puedes agregar la opción -p o --patch para ver el parche completo en lugar de solo un resumen:
git stash show -p
git stash show stash@{index} -p
Ver los archivos en un stash
Si deseas ver la lista de archivos que se guardaron en el stash, puedes utilizar el comando git stash show --name-only:
## Show the files in the most recent stash
git stash show --name-only
## Show the files in a specific stash
git stash show stash@{index} --name-only
Esto mostrará la lista de archivos que se modificaron, agregaron o eliminaron en los cambios guardados en el stash.
Al comprender estos comandos, puedes revisar fácilmente los cambios que están actualmente guardados en el stash, lo cual puede ser útil al decidir cómo aplicar o administrar esos cambios.
Administrando los cambios guardados en el stash
Después de haber guardado tus cambios en el stash, es posible que necesites administrar esos cambios guardados de diversas maneras. Git proporciona varios comandos para ayudarte con esto.
Aplicando los cambios guardados en el stash
Para aplicar los cambios del stash más reciente, puedes utilizar el comando git stash apply:
git stash apply
Esto aplicará los cambios del stash más reciente a tu directorio de trabajo y al índice (index) actual.
Si deseas aplicar un stash específico, puedes utilizar la sintaxis stash@{index} para especificar el stash que deseas aplicar:
git stash apply stash@{2}
Eliminando los cambios guardados en el stash
Si ya no necesitas un cambio guardado en el stash, puedes eliminarlo de la lista de stash utilizando el comando git stash drop:
## Drop the most recent stash
git stash drop
## Drop a specific stash
git stash drop stash@{2}
Aplicando y eliminando en un solo paso
Si deseas aplicar un stash y luego eliminarlo inmediatamente, puedes utilizar el comando git stash pop:
## Apply and drop the most recent stash
git stash pop
## Apply and drop a specific stash
git stash pop stash@{2}
Esta es una forma conveniente de aplicar un stash y eliminarlo de la lista de stash en un solo paso.
Limpiando todo el stash
Si deseas eliminar todos los cambios guardados en el stash, puedes utilizar el comando git stash clear:
git stash clear
Esto eliminará todos los cambios guardados en el stash de la lista de stash.
Al comprender estos comandos, puedes administrar eficazmente tus cambios guardados en el stash, aplicarlos cuando sea necesario, eliminarlos cuando ya no los necesites y mantener tu lista de stash limpia y organizada.
Resumen
Al final de esta guía, tendrás una comprensión sólida de cómo ver los cambios en un Git stash, así como de cómo administrar y trabajar con los cambios guardados en el stash. Este conocimiento te ayudará a mantener tu repositorio de Git organizado y a optimizar tu flujo de trabajo de desarrollo.



