Cómo comprobar si un repositorio de Git tiene cambios guardados en stash

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 verificar si un repositorio de Git tiene cambios guardados en el stash. Exploraremos el comando git stash list para ver los stashes existentes y usaremos git status para verificar el estado de tu directorio de trabajo.

Siguiendo estos pasos, entenderás cómo identificar si has guardado temporalmente cambios usando git stash y confirmar que tu árbol de trabajo está limpio cuando no hay stashes ni cambios no confirmados.


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/DataManagementGroup -.-> git/stash("Save Changes Temporarily") subgraph Lab Skills git/status -.-> lab-560090{{"Cómo comprobar si un repositorio de Git tiene cambios guardados en stash"}} git/stash -.-> lab-560090{{"Cómo comprobar si un repositorio de Git tiene cambios guardados en stash"}} end

Ejecutar git stash list para verificar

En este paso, aprenderemos sobre git stash. Imagina que estás trabajando en una característica, pero de repente necesitas cambiar a otra tarea o arreglar un error. Tu trabajo actual aún no está listo para ser confirmado, pero no quieres perderlo. Aquí es donde git stash resulta útil.

git stash guarda temporalmente tus cambios no confirmados (tanto los preparados como los no preparados) y revierte tu directorio de trabajo para que coincida con el commit HEAD. Es como poner tu trabajo actual a un lado en un lugar seguro para que puedas trabajar en otra cosa y luego volver a él más tarde.

Comencemos verificando si tienes algún cambio guardado en el stash. En tu terminal, asegúrate de estar en el directorio ~/project/my-time-machine y ejecuta el siguiente comando:

cd ~/project/my-time-machine
git stash list

Dado que es probable que esta sea tu primera vez usando git stash en este repositorio, la salida debe estar vacía o mostrar que no se encontraron stashes. Esto significa que no hay stashes guardados en tu repositorio actual.

## Si no existen stashes, es posible que no veas salida o un mensaje como:
## No se encontraron cambios guardados en el stash.

Comprender git stash list es el primer paso para gestionar tus cambios guardados en el stash. Te permite ver qué stashes has guardado, lo cual es crucial antes de aplicarlos o eliminarlos.

Verificar con git status

En el paso anterior, verificamos la existencia de stashes utilizando git stash list. Ahora, usemos git status para ver el estado actual de nuestro directorio de trabajo. Este comando es esencial para entender qué cambios están presentes y si están siendo rastreados por Git.

Asegúrate de que todavía estés en el directorio ~/project/my-time-machine. Ejecuta el siguiente comando:

git status

Dado que no hemos realizado ningún cambio desde nuestro último commit (en el laboratorio anterior), la salida debe indicar que tu árbol de trabajo está limpio.

On branch master
nothing to commit, working tree clean

Esta salida confirma que no hay cambios no confirmados en tu repositorio. El directorio de trabajo coincide con el último commit en la rama master. Este es el estado que se esperaría después de crear un commit o después de aplicar un stash y resolver cualquier conflicto.

Comprender la salida de git status es crucial para gestionar tu flujo de trabajo de Git. Te dice qué archivos se han modificado, cuáles están preparados para el próximo commit y cuáles no están siendo rastreados.

Probar un repositorio sin stashes

En los pasos anteriores, confirmamos que nuestro repositorio está limpio y no tiene stashes existentes. Este es el estado ideal para comenzar a experimentar con git stash.

Para demostrar cómo funciona git stash, primero necesitamos realizar algunos cambios en nuestro repositorio. Modifiquemos el archivo message.txt que creamos en el laboratorio anterior.

Asegúrate de que estés en el directorio ~/project/my-time-machine. Abre el archivo message.txt utilizando el editor nano:

nano message.txt

Agrega una nueva línea al archivo, por ejemplo:

Hello, Future Me
This is a new line.

Guarda el archivo presionando Ctrl + S y sal de nano presionando Ctrl + X.

Ahora, veamos el estado de nuestro repositorio nuevamente:

git status

Deberías ver una salida que indique que message.txt ha sido modificado:

On branch master
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
        modified:   message.txt

no changes added to commit (use "git add" and/or "git commit -a")

Esta salida muestra que hemos realizado cambios en message.txt, pero estos cambios aún no están preparados para un commit. Este es el escenario perfecto para usar git stash. En el siguiente paso, usaremos git stash para guardar estos cambios temporalmente.

Resumen

En este laboratorio, aprendimos cómo verificar los cambios guardados en stash en un repositorio de Git. Comenzamos utilizando el comando git stash list para ver si había algún stash guardado actualmente. Una salida vacía o un mensaje que indique que no hay stashes confirma que no se han guardado temporalmente cambios utilizando git stash.

Luego, usamos git status para verificar el estado de nuestro directorio de trabajo. Un árbol de trabajo limpio, como lo indica la salida de git status, confirma que no hay cambios no confirmados en el repositorio. Estos dos comandos son fundamentales para entender el estado actual de tu repositorio de Git y gestionar los cambios guardados en stash.