Git stash – Qué es, para qué sirve y cómo usarlo

Git stash es uno de los comandos más útiles de Git para guardar cambios de forma temporal sin necesidad de crear un commit. En este artículo aprenderás qué es, para qué sirve, cuándo conviene utilizarlo y cómo usarlo paso a paso desde la terminal de Visual Studio Code, con ejemplos prácticos y casos reales.

git stash que es para que sirve y como guardar cambion temporales

1. ¿Qué es Git stash y para qué sirve?

Git stash es un comando que permite guardar temporalmente los cambios que todavía no has confirmado con un commit, para dejar el repositorio en un estado limpio y recuperarlos más adelante.

Es una herramienta muy útil cuando estás trabajando en una tarea, pero necesitas cambiar rápidamente de rama, solucionar un error urgente o realizar otra tarea sin perder el trabajo que ya llevabas realizado.

En lugar de crear un commit incompleto o copiar los archivos manualmente, Git almacena esos cambios en una especie de «cajón temporal» (stash), desde donde podrás recuperarlos cuando quieras.

1.1. ¿Qué sucede al ejecutar Git stash?

Cuando ejecutas el comando:

git stash

Git realiza automáticamente las siguientes acciones:

  • Guarda todos los cambios que estaban preparados (Staging Area).
  • Guarda también los cambios que todavía estaban en el Working Directory.
  • Devuelve el proyecto al último commit realizado.
  • Conserva esos cambios almacenados internamente hasta que decidas recuperarlos.

En otras palabras, es como si «pusieras en pausa» tu trabajo.

2. ¿Cuándo conviene usar Git stash?

Git stash suele utilizarse en situaciones como estas:

  • Estás desarrollando una funcionalidad pero aparece un error urgente.
  • Necesitas cambiar rápidamente de rama.
  • Vas a hacer un git pull y quieres evitar conflictos.
  • Quieres probar otra solución sin perder el trabajo actual.
  • Debes revisar el código de un compañero.
  • Aún no quieres realizar un commit porque el trabajo está incompleto.

En todos estos casos Git stash evita tener que crear commits innecesarios únicamente para guardar avances temporales.

3. Cómo usarlo desde la terminal de VS Code

Git stash puede utilizarse completamente desde la terminal integrada de VS Code.

Paso 1. Abrir Visual Studio Code

Abre el proyecto Git sobre el que estás trabajando.

Paso 2. Abrir la terminal integrada

Puedes hacerlo de cualquiera de estas maneras:

Opción 1

En el menú superior selecciona:

Terminal → New Terminal

Opción 2

Utiliza el atajo de teclado:

Ctrl + Ñ

(En algunos teclados puede ser Ctrl + `.)

La terminal aparecerá en la parte inferior de Visual Studio Code.

Paso 3. Verificar que existen cambios

Antes de guardar los cambios temporalmente puedes comprobar el estado del repositorio.

git status

Por ejemplo podrías obtener algo parecido a:

modified: index.html
modified: estilos.cssLenguaje del código: CSS (css)

Eso significa que existen cambios pendientes.

Paso 4. Guardar temporalmente los cambios

Ahora ejecuta:

git stash

Git responderá con un mensaje similar a:

Saved working directory and index state

En ese momento:

  • desaparecen las modificaciones del proyecto
  • los archivos vuelven al estado del último commit
  • los cambios quedan almacenados dentro del stash

Paso 5. Ver los cambios almacenados

Puedes consultar todos los stash guardados mediante:

git stash listLenguaje del código: PHP (php)

Obtendrás algo parecido a:

stash@{0}
stash@{1}
stash@{2}Lenguaje del código: CSS (css)

Cada uno representa un conjunto de cambios temporales.

Paso 6. Recuperar el último stash

Cuando quieras continuar trabajando ejecuta:

git stash pop

Git recuperará todos los cambios y eliminará ese stash de la lista.

Paso 7. Recuperar un stash sin eliminarlo

Si prefieres conservarlo para reutilizarlo más adelante:

git stash apply

La diferencia es sencilla:

  • git stash pop recupera y elimina el stash.
  • git stash apply recupera pero lo mantiene almacenado.

Paso 8. Eliminar un stash manualmente

Si ya no lo necesitas:

git stash drop

O eliminar todos:

git stash clear

4. ¿Se puede usar Git stash sin la terminal?

Sí, aunque depende de la herramienta que utilices.

Visual Studio Code, por sí solo, no incorpora un botón nativo para ejecutar Git stash desde el panel de Control de código fuente. La forma más habitual y recomendada es utilizar la terminal integrada.

Sin embargo, existen extensiones que sí permiten hacerlo mediante una interfaz gráfica.

Por ejemplo:

  • GitLens
  • Git Graph

Estas extensiones permiten crear, aplicar, eliminar y administrar los stash desde menús visuales, sin escribir comandos.

Aun así, aprender los comandos de Git stash es recomendable porque funcionan igual en cualquier equipo, sistema operativo o editor de código.

5. Casos comunes donde se utiliza Git stash

5.1. Cambiar rápidamente de rama

  • Estás desarrollando una nueva funcionalidad.
  • De repente debes corregir un error en producción.
  • Guardas temporalmente tu trabajo:
git stash
  • Cambias de rama.
  • Corriges el problema.
  • Vuelves a tu rama.
  • Recuperas el trabajo:
git stash pop

5.2. Antes de hacer un git pull

  • Tienes modificaciones locales.
  • Necesitas descargar los cambios del servidor.
  • En lugar de hacer un commit incompleto:
git stash
git pull
git stash pop
  • Así reduces el riesgo de conflictos innecesarios.

5.3. Probar otra solución

  • Estás experimentando con una idea.
  • Quieres volver atrás fácilmente si no funciona.
  • Guardas tu trabajo.
  • Pruebas otra alternativa.
  • Si no te convence simplemente recuperas el stash.

5.4. Cambiar de tarea durante una reunión

  • Estabas desarrollando una nueva pantalla.
  • Tu jefe te pide revisar un error urgente.
  • En pocos segundos puedes guardar todo el trabajo sin crear commits temporales.

6. Ejemplo práctico de Git stash

  • Imagina que estás creando una página web.
  • Actualmente modificaste estos archivos:
index.html
styles.css
app.jsLenguaje del código: CSS (css)
  • Todavía no realizaste ningún commit porque la funcionalidad está incompleta.
  • En ese momento aparece un error urgente en otra rama del proyecto.
  • Ejecutas:
git stash
  • Git guarda temporalmente los cambios.
  • Ahora el proyecto vuelve exactamente al último commit.
  • Puedes cambiar de rama:
git switch mainLenguaje del código: JavaScript (javascript)
  • Corriges el error.
  • Realizas:
git add .
git commit -m "Corregido error del menú"Lenguaje del código: JavaScript (javascript)
  • Regresas a tu rama:
git switch desarrolloLenguaje del código: JavaScript (javascript)
  • Finalmente recuperas todo el trabajo:
git stash pop
  • Automáticamente vuelven a aparecer:
    • los cambios en index.html
    • las modificaciones en styles.css
    • el código de app.js
  • Puedes continuar trabajando exactamente donde habías quedado.

7. Beneficios de utilizar Git stash

Utilizar Git stash ofrece numerosas ventajas durante el desarrollo:

  • Permite interrumpir una tarea sin perder avances.
  • Evita crear commits innecesarios o incompletos.
  • Facilita cambiar de rama rápidamente.
  • Ayuda a mantener un historial de commits más limpio.
  • Reduce el riesgo de olvidar cambios importantes.
  • Permite experimentar con nuevas ideas de forma segura.
  • Hace más sencillo atender tareas urgentes sin afectar el trabajo en curso.

En proyectos personales y colaborativos, Git stash es una herramienta muy práctica para gestionar interrupciones y mantener un flujo de trabajo organizado, especialmente cuando aún no es el momento adecuado para confirmar los cambios con un commit.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *