<div class="page"> <div class="cover text-center"> <img class="mx-auto" src=/itb/images/logo_mislata.png alt="logo"> # Stash <div class="text-end fit-content ms-auto my-3 mt-auto pt-3"> <p><strong>Autor:</strong> Joan Puigcerver Ibáñez</p> <p><strong>Correu electrònic:</strong> j.puigcerveribanez@edu.gva.es</p> <p><strong>Curs:</strong> 2024/2025</p> </div> <div> <p class="fw-bold mb-0">Llicència: BY-NC-SA</p> <p class="d-none d-md-block">(Reconeixement - No Comercial - Compartir Igual)</p> <a href="https://creativecommons.org/licenses/by-nc-sa/4.0/deed.ca" target="_blank"> <img class="mx-auto" src="/itb/images/license.png" alt="Licence"/> </a> </div><!--license--> </div><!--cover--> </div><!--page--> {:toc} ## Introducció El `stash` en Git es un magatzem que permet guardar temporalment els canvis dels quals encara no es vol realizar un _commit_. Aquesta funció és útil si heu realitzat canvis en el directori de treball i necessiteu canviar a alguna altra branca per treballar en una altra cosa o incorporar canvis que entren en conflicte amb el que esteu treballant. Posteriorment es poden tornar a aplicar els canvis guardats en el `stash` o descartar-los. ### Mostrar els stash Git permet guardar multiples `stash`, identificats per un índex numéric `[0..N]`, on l'índex `0` és el `stash` més recent. Per mostrar els `stash` que heu creat cal executar la comanda: ```bash git stash list ``` ### Guardar els canvis Per guardar els canvis del directori de treball al `stash` cal executar la següent comanda: ```bash git stash ``` Aquesta comanda inclourà els canvis a la primera posició: `stash@{0}` i incrementarà l'índex dels `stash` existents en 1. ### Mostrar els canvis Si volem consultar els canvis guardats al `stash`, ho podem fer mitjançant l'opció `show`. Aquesta acció mostrarà els fitxers que s'han canviat. Addicionalment, si volem mostrar els canvis podem indicar l'opció `-p`. També es pot indicar l'índex del `stash` que es vol consultar. Si no s'indica, mostrarà per defecte el `stash@{0}`. ```bash git stash show [-p] [index] ``` ### Recuperar els canvis Per recuperar els canvis del `stash` cal executar l'acció `apply`. Aquesta acció tornarà a aplicar els canvis guardats en el __directori de treball__. També es pot indicar l'índex del `stash` que es vol aplicar. Si no s'indica, s'aplicarà per defecte el `stash@{0}`. ```bash git stash apply [index] ``` Els canvis es poden aplicar i i esborrar del stash amb la comanda `git stash pop`: ```bash git stash pop [index] ``` ### Descartar els canvis Els canvis desats al `stash` es poden descartar mitjançant la comanda: ```bash git stash drop [index] ``` També es pot indicar l'índex del `stash` que es vol descartar. Si no s'indica, es descartarà per defecte el `stash@{0}`.