Guardado temporal de cambios con git stash
En este post voy a explicar cómo usar git stash desde cero para guardar trabajo temporal antes de hacer un commit de los archivos sin terminar.
En este post voy a explicar cómo usar git stash desde cero para guardar trabajo temporal antes de hacer un commit de los archivos sin terminar.
Antes de empezar
- Recomiendo revisar la Instalación y Configuración de Git para que pueda realizar correctamente el ejercicio que vamos a realizar.
- Revisa y entiende los Estados de archivos en Git (
git status,git add,git commit) para que pueda ver los distintos cambios realizados. - Realizar el ejercicio de Confirmar cambios con git commit y tener cambios
🧪 Escenario práctico
Supongamos que estás trabajando en un archivo llamado README.md, pero te piden urgentemente que cambies de rama para corregir un error. No quieres hacer un commit apresurado, así que vas a guardar los cambios temporalmente con git stash, a continuación, vamos a realizar un ejemplo paso a paso.
1️⃣ Primero creamos el proyecto en un directorio que llamaremos proyecto-git
git init
Respuesta: Initialized empty Git repository in C:/code/proyecto-git/.git/
Procedemos a crear un archivo que llamaremos README.md y colocamos cualquier texto en el archivo. Procedemos a ver el estado del repositorio.
echo "primera linea de texto" > README.md
Realizamos el primer commit como se explica en Confirmar cambios con git commit
2️⃣ Verifica que tienes cambios sin guardar
Vamos a realizar cambios al archivo
echo "Segunda linea de texto" >> README.md
Validamos el estado del archivo
git status
Salida esperada:
Modificado: README.md
Perfecto, hay cambios pendientes.
3️⃣ Guardar cambios con git stash
git stash
Resultado:
Saved working directory and index state WIP on main: 123abc tarea anterior
- Ahora Git guardó tus cambios en un lugar temporal.
- Tu directorio vuelve al último commit limpio.
4️⃣ Ver los stashes guardados
git stash list
Verás algo como:
stash@{0}: WIP on main: 123abc tarea anterior
5️⃣ Cambiar de rama y trabajar
Ahora podés cambiar de rama sin problema:
git checkout otra-rama
Hacés los cambios urgentes, commiteás, y todo bien.
6️⃣ Volver a tu trabajo guardado
Cuando termines, volvés a tu rama:
git checkout main
Y recuperás tus cambios guardados:
git stash pop
Esto:
- Aplica el stash.
- Elimina el stash de la lista.
Ahora tu archivo README.md vuelve a estar con tus cambios.
✅ ¡Listo! Pudiste guardar temporalmente tu trabajo, cambiar de rama y recuperarlo después sin perder nada.
🚀 Resumen rápido de comandos que vas a usar:
git statusVer qué cambios haygit stashGuardar cambiosgit stash listVer stashes guardadosgit checkout ramaCambiar de ramagit stash popRecuperar cambios