Comparte en Facebook Twitter Google+

El comando git stash permite guardar cambios realizados en el código y retomar la última versión o commit almacenado, estos cambios también pueden recuperarse en cierto momento de ser requerido, o en caso de que se hayan deshecho por error del usuario.

Crear un repo git

Creamos una carpeta nueva, en mi caso una llamada “stash” e iniciamos git dentro del directorio. Si aun no sabes como crear un repo puedes visitar el post sobre Primeros pasos con git y GitHub.

Dentro del directorio creamos un archivo llamado index.html.

Realizando cambios

iniciemos con una simple estructura html para realizar el primer commit del proyecto

Perfecto! ya podemos hacer commit de los cambios.

Guardando cambios con git

Supongamos que iniciamos con la programación dura de un proyecto, realizando funciones complejas y probando nuevos métodos, algunas veces por miedo a dañar el proyecto se crean miles de copias para pruebas, se editan, se borran  y se copia nuevamente todo el directorio, bueno, git nos va a ahorrar mucho trabajo de ahora en adelante.

Digamos que por error borramos la estructura del archivo index.html dejando algo así

De pronto olvidamos todo lo que hicimos, no podemos hacer Ctrl+z y queremos volver a la última versión guardada del código, en este caso al “primer commit”.

Desde la consola ejecutamos

vemos que se ha modificado el archivo index.html

En este caso no queremos guardar estos cambios en nuestra línea de avances, para ello solo debemos ejecutar

y verificamos que ha pasado

y ahora si abrimos nuevamente el archivo index.html desde el editor de texto veremos

Gracias al poder de git hemos recuperado el ultimo commit de  nuestro proyecto, ahora no hay nada porque preocuparse.

Veamos otro cambio

Esta vez vamos a agregar una línea más al archivo de la siguiente forma

Una vez modificado el archivo decidimos que queremos guardar temporalmente esto fuera de nuestra rama de trabajo, nuevamente ejecutamos

Listando cambios guardados con stash

Para ver todos los “stash” que tenemos ejecutamos

Recuperando cambios guardados

Digamos que queremos el código guardado con git stash de vuelta en nuestra rama de trabajo.

Para ver el cambio que queremos recuperar y estar seguros de ello ejecutamos

y veremos algo como esto

Ya que hemos comprado que esto es lo que queremos recuperar lo hacemos con

y vemos como nuevamente los cambios están en nuestra área de trabajo esperando para ser guardados con commit.

Haciendo commit de estos cambios

Si decidimos conservar estos cambios recuperados solo debemos hacer commit de ellos como lo hemos venido haciendo

Eliminando cambios guardados

Si ejecutamos

aún veremos los dos stash almacenados por git

si estamos seguros que no necesitaremos esto en el futuro podemos eliminarlos del todo haciendo

Lecturas recomendadas

Regístrate hoy en Styde y continua mejorando tus habilidades: ver planes.

Lección anterior Sistema de ramificaciones en git Lección siguiente Exclusión de ficheros en un repositorio Git