Stashing ti consente di conservare una copia delle modifiche apportate a un repository, senza dover creare un commit.
È utile se stai cambiando contesto, soprattutto se stai andando avanti e indietro tra diversi bug o attività sullo stesso progetto.
Operazioni di base di git stash
Puoi usa git stash per facilitare il tuo flusso di lavoro quando si tratta di linee di lavoro parallele. Immagina di lavorare su un'attività di lunga durata, con modifiche nella tua copia di lavoro locale. Poi, viene fuori qualcosa di urgente su cui devi lavorare subito.
Il flusso di lavoro standard per l'archiviazione delle modifiche è:
- Apporta modifiche locali
- Metti da parte le modifiche locali
- Riapplica le modifiche nascoste
Quando riponi le modifiche usando il git stash [spingere] comando, git si ripristina su HEAD. Puoi quindi continuare a lavorare su tutto ciò di cui hai bisogno, impegnandoti nel repository come se non avessi mai apportato le modifiche originali.
Una volta che hai finito con qualunque cosa ti abbia sviato in primo luogo, usa
git stash pop per applicare le modifiche e rimuoverle dalla scorta. Puoi anche applicare le modifiche e tenerle nella scorta git stash si applica. Questo potrebbe essere utile se desideri applicare rapidamente le modifiche a più rami.Lavorare con più di una scorta
Se sei davvero impegnato, potresti ritrovarti a lavorare su più attività contemporaneamente e potresti doverle riporre tutte. Non preoccuparti, git stash è stato creato per questo.
Ogni volta che usi git stash push, stai salvando un'altra serie di modifiche. Uso git lista di scorta per mostrare tutto ciò che hai nascosto. Vedrai qualcosa di simile a questo:
stash@{0}: WIP su main: 2fba62e primo commit
stash@{1}: WIP su main: 2fba62e primo commit
Questi messaggi non sono molto utili, ma puoi lasciare alcuni indizi per te aggiungendo un messaggio personalizzato quando riponi:
git stash push -m "terzo"
Quando elenchi ora, vedrai il tuo messaggio personalizzato:
stash@{0}: principale: terzo
stash@{1}: WIP su main: 2fba62e primo commit
Mostrare le differenze tra le differenze
Per scoprire cosa è cambiato in una scorta, usa git stash show. Senza ulteriori argomenti, mostrerà un riepilogo delle differenze per l'ultima scorta, simile a questa:
$ git mostra di scorta
LEGGIMI.md | 3 +++
1 file modificato, 3 inserimenti(+)
Puoi anche passare un ID di scorta per interrogare una voce specifica:
git stash mostra stash@{0}
Creazione di un ramo da una scorta
Potresti decidere che i cambiamenti in una scorta sono così significativi da meritare di essere in un ramo a parte. Se è così, creare un nuovo ramo dalla scorta usando il ramo comando:
git ramo stash
Anche in questo caso, funzionerà per impostazione predefinita sulla scorta più recente, ma puoi fornire un ID scorta se necessario. Git crea il tuo nuovo ramo dallo stesso punto nel repository della scorta. Quindi applica le modifiche dalla scorta alla tua copia di lavoro.
Pulizia della scorta
Non esiste un comando "git unstash". Se vuoi rimuovere una voce nascosta, usa drop:
git scorta far cadere
Anche in questo caso, l'impostazione predefinita è l'ultima, ma puoi invece fornire un ID di scorta. Se decidi di sbarazzarti di tutto ciò che hai nascosto, usa questo comando:
git stash clear
Usa git stash per gli impegni temporanei leggeri
Gli stash di Git non sono neanche lontanamente potenti quanto i repository completi. Ma offrono ancora molte funzionalità utili di per sé. Usa le scorte se ti ritrovi spesso a dover cambiare ramo nel bel mezzo del lavoro.
Stashing è solo una piccola parte di git, che è un programma con molto da offrire.