Git stash: la útil caché de Git

Con git stash, puedes almacenar en caché los cambios sin confirmarlos directamente. También es posible tener varios stashes en un mismo proyecto.

Dominios web
Compra y registra tu dominio ideal
  • Domina el mercado con nuestra oferta 3x1 en dominios
  • Tu dominio protegido con SSL Wildcard gratis
  • 1 cuenta de correo electrónico por contrato

¿Qué es git stash?

Normalmente, el trabajo en Git funciona así: haces cambios en tu repositorio local, los pruebas cuidadosamente y luego los envías a la rama principal. Por desgracia, el trabajo no siempre se desarrolla de forma lineal. En algunas circunstancias, es posible que estés trabajando en un sitio, pero que luego tengas que trasladarte a otra rama antes de poder completar la función de la primera rama. En este caso, comprometerse no sería la opción correcta, ya que se añadirían cambios inacabados, lo que generaría mucha confusión. La solución a esto es git stash. El comando guarda los cambios iniciados y los restaura por ti.

Esto afecta a todos los cambios que aún no se han confirmado. Si luego quieres revertir estos archivos, no tienes más que recuperarlos de nuevo del git stash y terminar los cambios a tu gusto. De esta manera no pierdes ningún avance, conservas tu trabajo y al mismo tiempo tienes la libertad de seguir trabajando con flexibilidad en otros puntos. Sin git stash, obtendrías un mensaje de error durante un git checkout o incluso perderías cambios importantes.

Sintaxis y funcionalidad de git stash

Git stash actúa como una especie de caché para tu rama actual. La sintaxis básica es la siguiente:

git stash

Te mostraremos cómo funciona paso a paso con un sencillo ejemplo. Imagina que estás trabajando con dos ramas. Estás realizando cambios en la primera rama, pero tu equipo te informa de que también hay que cambiar algo en la segunda rama. Con git stash se procede de la siguiente manera:

  1. Guarda los cambios en la primera rama.
  2. Utiliza el comando “git stash”.
  3. Cambia a la segunda rama y realiza allí los cambios necesarios.
  4. Confirma tus cambios en la segunda rama.
  5. Vuelve a la primera rama.
  6. Utiliza el comando “git stash pop”, para recuperar el progreso guardado.

Más opciones de git stash

Además de la variante explicada anteriormente, git stash conoce algunas opciones más. Las más importantes son:

git stash -u También tiene en cuenta los archivos que no han sido rastreados.
git stash -a Tiene en cuenta todos los archivos que fueron ignorados o no fueron rastreados.
git stash -p Permite seleccionar y almacenar solo determinados archivos.

Lista de stashes

El uso de git stash no está limitado. Puedes utilizar el comando varias veces y así almacenar numerosos pasos de almacenamiento. A continuación, tienes la posibilidad de hacer una lista de tus git stashes y así obtener una buena visión general de tu almacenamiento. Este es el comando apropiado:

git stash list

Las entradas se muestran en orden cronológico inverso. Por lo tanto, el git stash actual aparecerá en primer lugar.

Normalmente, cada stash se identifica simplemente como “WIP” (Work In Progress). Dado que esto puede resultar confuso rápidamente desde que haya varios git stashes, es aconsejable proporcionar a cada stash una descripción. Este es el comando correspondiente:

git stash save "Aquí tu descripción"

git stash pop y apply

Con el comando “git stash pop”, se selecciona el último git stash y se muestra de nuevo. Sin embargo, si quieres volver a otro stash, puedes especificarlo. Por ejemplo, si quieres que se muestre el segundo git stash, establece el valor en 1 (ya que cuenta desde cero). Se verá así:

git stash pop stash@{1}

Una alternativa a “pop” es “apply”. La diferencia: “pop” borra el git stash respectivo de la memoria y lo devuelve a la rama actual. “Apply” mantiene el stash en la memoria.

Limpiar git stash

Especialmente porque tienes la opción de crear múltiples git stashes, es importante que vayas vaciando el git stash para que no se llene demasiado. Hay dos comandos que puedes usar para esto:

git stash clear

Con este comando se vacía todo el git stash.

Si solo quieres eliminar un stash específico de la lista, este es el comando apropiado:

git stash drop <stash_id></stash_id>

Abrir git stashes

Puedes obtener el resumen de tu git stash con el siguiente comando:

git stash show

Para obtener información adicional sobre el diff completo, utiliza este comando:

git stash show -p

Una herramienta útil para trabajar con Git

De este modo, git stash facilita trabajar en un proyecto y garantiza que no se pierdan ni siquiera los cambios inacabados. En nuestro artículo sobre comandos Git encontrarás más comandos útiles. Para el uso regular del sistema de control de versiones, también se recomienda nuestra hoja Git Cheat descargable en PDF.

Consejo

Deploy Now de IONOS es la mejor solución para tus páginas web y aplicaciones. Benefíciate de una configuración rápida, flujos de trabajo optimizados y máxima escalabilidad. Además, puedes elegir entre diferentes tarifas.

¿Le ha resultado útil este artículo?
Page top