Cómo comprobar si un stash de Git está vacío

GitGitBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, aprenderás cómo comprobar si un stash de Git está vacío. Exploraremos diferentes métodos para inspeccionar y verificar el contenido de tus stashes.

Primero, utilizarás el comando git stash show para inspeccionar los cambios dentro de un stash, incluyendo la visualización de un resumen y la diferencia detallada. Luego, aprenderás cómo usar git stash list para verificar la presencia y el contenido de los stashes. Finalmente, probarás estos comandos con stashes no vacíos para consolidar tu comprensión.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL git(("Git")) -.-> git/BasicOperationsGroup(["Basic Operations"]) git(("Git")) -.-> git/DataManagementGroup(["Data Management"]) git/BasicOperationsGroup -.-> git/status("Check Status") git/BasicOperationsGroup -.-> git/diff("Compare Changes") git/DataManagementGroup -.-> git/stash("Save Changes Temporarily") subgraph Lab Skills git/status -.-> lab-560106{{"Cómo comprobar si un stash de Git está vacío"}} git/diff -.-> lab-560106{{"Cómo comprobar si un stash de Git está vacío"}} git/stash -.-> lab-560106{{"Cómo comprobar si un stash de Git está vacío"}} end

Ejecutar git stash show para inspeccionar

En este paso, aprenderemos cómo inspeccionar los cambios almacenados en un stash de Git utilizando el comando git stash show.

Antes de poder inspeccionar un stash, necesitamos tener uno. Vamos a crear un archivo simple y guardar los cambios en un stash.

Primero, asegúrate de estar en el directorio de tu proyecto:

cd ~/project/my-time-machine

Ahora, crea un nuevo archivo llamado notes.txt y agrega algo de contenido:

echo "Important notes for the future." > notes.txt

Verifica el estado para ver el nuevo archivo:

git status

Deberías ver notes.txt listado como un archivo no rastreado.

Ahora, guardemos estos cambios en un stash. Esto guardará los cambios sin confirmarlos y limpiará tu directorio de trabajo:

git stash save "Add important notes"

Deberías ver una salida que indique que los cambios se han guardado y que el directorio de trabajo está limpio.

Ahora que tenemos un stash, podemos inspeccionar su contenido utilizando git stash show. Por defecto, git stash show muestra un resumen de los cambios en el stash más reciente.

Ejecuta el comando:

git stash show

Deberías ver una salida similar a esta:

 notes.txt | 1 +
 1 file changed, 1 insertion(+)

Esta salida nos dice que un archivo (notes.txt) fue modificado y se agregó una línea.

Para ver los cambios reales en el contenido (una diferencia o diff), puedes agregar la opción -p o --patch:

git stash show -p

Esto mostrará la diferencia de los cambios en el stash, similar a cómo funciona git diff. Deberías ver algo como esto:

diff --git a/notes.txt b/notes.txt
new file mode 100644
index 0000000..a1b2c3d
--- /dev/null
+++ b/notes.txt
@@ -0,0 +1 @@
+Important notes for the future.

Esta salida muestra que se creó un nuevo archivo notes.txt y se agregó la línea "Important notes for the future."

El comando git stash show es muy útil para comprobar rápidamente qué cambios contiene un stash sin tener que aplicarlo. Esto te ayuda a decidir qué stash podrías querer aplicar o eliminar más tarde.

Usar git stash list para verificar

En este paso, aprenderemos cómo ver una lista de todos los stashes que has creado utilizando el comando git stash list. Esto es útil cuando tienes múltiples stashes y necesitas recordar qué contiene cada uno.

Asegúrate de que todavía estés en el directorio de tu proyecto:

cd ~/project/my-time-machine

En el paso anterior, creamos un stash. Usemos git stash list para verlo.

Ejecuta el comando:

git stash list

Deberías ver una salida similar a esta:

stash@{0}: On master: Add important notes

Desglosemos esta salida:

  • stash@{0}: Este es el nombre del stash. stash indica que es un stash, y {0} es el índice del stash en la lista. El stash más reciente siempre está en el índice {0}.
  • On master: Esto te dice en qué rama (branch) estabas cuando creaste el stash.
  • Add important notes: Este es el mensaje que proporcionamos cuando creamos el stash utilizando git stash save. Si no proporcionas un mensaje, Git generará automáticamente uno basado en el commit actual y los archivos modificados.

Si tuvieras múltiples stashes, se listarían con índices crecientes, como stash@{0}, stash@{1}, stash@{2}, y así sucesivamente.

Creemos otro stash para ver cómo cambia la lista.

Primero, modifica el archivo message.txt que creamos en un laboratorio anterior:

echo "Adding another line for testing." >> message.txt

Ahora, guarda estos nuevos cambios en un stash:

git stash save "Add another line to message"

Ejecuta git stash list de nuevo:

git stash list

Ahora deberías ver dos stashes:

stash@{0}: On master: Add another line to message
stash@{1}: On master: Add important notes

Observa que el nuevo stash ahora está en el índice {0}, y el stash anterior se ha movido al índice {1}. Git siempre coloca el stash más reciente en la parte superior de la lista con el índice {0}.

El comando git stash list es esencial para gestionar múltiples stashes. Proporciona una visión clara de tu trabajo guardado, lo que te permite identificar y hacer referencia a stashes específicos cuando necesites aplicarlos o eliminarlos.

Probar stashes no vacíos

En este paso, practicaremos el uso de git stash show y git stash list con múltiples stashes para reforzar nuestra comprensión.

Asegúrate de estar en el directorio de tu proyecto:

cd ~/project/my-time-machine

Actualmente tenemos dos stashes. Vamos a listarlos de nuevo para refrescar nuestra memoria:

git stash list

Deberías ver:

stash@{0}: On master: Add another line to message
stash@{1}: On master: Add important notes

Ahora, inspeccionemos el contenido del primer stash (stash@{0}). Podemos especificar qué stash mostrar agregando su índice al comando:

git stash show stash@{0}

Esto mostrará el resumen de los cambios en el stash más reciente, que es el en el que agregamos una línea al archivo message.txt. La salida debería ser similar a:

 message.txt | 1 +
 1 file changed, 1 insertion(+)

Para ver la diferencia (diff) de este stash, usa la opción -p:

git stash show -p stash@{0}

Deberías ver la diferencia que muestra la línea agregada en message.txt.

Ahora, inspeccionemos el segundo stash (stash@{1}). Este es el stash en el que creamos el archivo notes.txt.

git stash show stash@{1}

La salida debería ser similar a:

 notes.txt | 1 +
 1 file changed, 1 insertion(+)

Y para ver la diferencia de este stash:

git stash show -p stash@{1}

Esto mostrará la diferencia para la creación del archivo notes.txt.

Ser capaz de listar e inspeccionar stashes individuales es crucial cuando has guardado múltiples conjuntos de cambios. Te permite identificar rápidamente el stash que necesitas sin tener que aplicarlos uno por uno.

En los próximos laboratorios, aprenderemos cómo aplicar y gestionar estos stashes.

Resumen

En este laboratorio, aprendimos cómo inspeccionar el contenido de un stash de Git utilizando el comando git stash show. Primero creamos un archivo simple y guardamos los cambios en un stash para tener algo con lo que trabajar. Luego usamos git stash show para ver un resumen de los cambios en el stash más reciente, incluyendo el número de archivos modificados y líneas agregadas/eliminadas. También exploramos la opción -p o --patch con git stash show para ver la diferencia real de los cambios dentro del stash, lo que nos permite ver las líneas específicas que se agregaron, modificaron o eliminaron. Este comando es una herramienta valiosa para comprender rápidamente el contenido de un stash sin necesidad de aplicarlo.