Git Stash
Ultimo aggiornamento
git stash mette da parte le modifiche non committate e riporta la directory di lavoro a uno stato pulito, così puoi cambiare branch o fare pull senza committare un lavoro a metà. Le modifiche finiscono in una pila che puoi riapplicare in seguito con git stash pop (applica e rimuove) o git stash apply (applica e mantiene).
Prova questi comandi nel terminal playground: una vera shell nel tuo browser, senza installare nulla.
Sintassi
| Comando | Cosa fa |
|---|---|
git stash | Mette da parte le modifiche tracciate, pulisce la directory di lavoro |
git stash -u | Include anche i file non tracciati |
git stash push -m "msg" | Stash con un messaggio descrittivo |
git stash push <file> | Stash di un solo file specifico |
git stash list | Elenca tutti gli stash |
git stash pop | Riapplica l'ultimo stash e lo rimuove |
git stash apply | Riapplica l'ultimo stash e lo mantiene |
git stash drop | Elimina l'ultimo stash |
git stash clear | Elimina tutti gli stash |
pop vs apply
| Comportamento | git stash pop | git stash apply |
|---|---|---|
| Riapplica le modifiche | Sì | Sì |
| Rimuove lo stash dopo | Sì | No |
| Adatto a riusare uno stash | No | Sì |
Domande frequenti su git stash
Cosa fa git stash?
git stash pop o git stash apply. È comodo quando devi cambiare branch ma non vuoi ancora fare il commit.Che differenza c'è tra git stash pop e git stash apply?
git stash pop poi rimuove anche quello stash dalla pila, mentre git stash apply lo lascia nella pila così puoi applicarlo di nuovo altrove. Usa pop per un ripristino una tantum, apply quando vuoi riusare lo stash.git stash include i file non tracciati?
git stash mette da parte solo i file tracciati (modificati). Aggiungi -u (git stash -u) per includere i file non tracciati, oppure -a per includere anche quelli ignorati. Senza queste opzioni, i file nuovi su cui non hai fatto git add restano nella directory di lavoro.Come applico uno stash specifico?
git stash list per vederli numerati come stash@{0}, stash@{1}, poi git stash apply stash@{1} (o pop) per riapplicarne uno in particolare. Ogni stash mostra anche il branch e il messaggio con cui è stato creato, così puoi distinguerli.Posso esercitarmi online?
git stash in una vera shell nel tuo browser, senza installare nulla. Il corso interattivo gratuito di Git di Coddy spiega anche come gestire il lavoro in corso passo dopo passo.