Guía completa de git stash: Cómo guardar y restaurar cambios temporalmente en Git

Publicado el 24 de octubre de 2024 por Flikimax
Guía completa de git stash: Cómo guardar y restaurar cambios temporalmente en Git

El comando git stash es una herramienta fundamental en Git que te permite guardar cambios no confirmados temporalmente, sin necesidad de hacer un commit. Esto es especialmente útil cuando necesitas cambiar de rama o realizar alguna tarea que requiera un espacio de trabajo limpio, pero no quieres perder tus cambios actuales.

A continuación, te explico cómo usar git stash en diferentes escenarios:

1. Guardar cambios con git stash

Cuando ejecutas git stash, Git almacena las modificaciones locales (incluyendo las del área de staging) y restaura el directorio de trabajo a su último commit confirmado. Es como una pausa temporal en tu trabajo actual.

git stash

2. Aplicar cambios guardados con git stash apply

Una vez que hayas terminado lo que necesitabas hacer, puedes restaurar los cambios guardados co

git stash apply

Esto aplica los cambios del stash sin eliminarlos de la lista de stashes.

3. Aplicar y eliminar con git stash pop

Si quieres aplicar los cambios y al mismo tiempo eliminar el stash, usa:

git stash pop

Este comando restaura los cambios y borra automáticamente el stash aplicado.

4. Listar todos los stashes con git stash list

Puedes ver todos los stashes guardados con:

git stash list

Este comando muestra una lista de todos los stashes, junto con sus identificadores.

5. Restaurar un stash específico

Si tienes múltiples stashes, puedes aplicar uno en particular usando su índice:

git stash apply stash@{1}

6. Eliminar un stash específico

Si ya no necesitas un stash en particular, puedes eliminarlo de la lista con:

git stash drop stash@{1}

7. Eliminar todos los stashes

Para limpiar todos los stashes guardados:

git stash clear

Este comando borra por completo el historial de stashes.

8. Crear un stash con un mensaje descriptivo

Para facilitar la identificación de los stashes, puedes añadir una descripción:

git stash push -m «WIP: Cambios en la página de login»

9. Guardar solo cambios rastreados

Si no deseas incluir archivos no rastreados en tu stash, usa el siguiente comando:

git stash push –keep-index

Esto guarda únicamente los archivos que están en el área de staging.

Resumen

  • Guardar temporalmente cambios no confirmados: git stash.
  • Listar todos los stashes guardados: git stash list.
  • Restaurar el último stash: git stash pop o git stash apply.
  • Eliminar un stash específico: git stash drop <stash@{n}>.
  • Limpiar todos los stashes: git stash clear.

git stash es una herramienta indispensable cuando necesitas cambiar de contexto rápidamente, mientras mantienes los cambios actuales seguros para retomarlos más adelante.