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 è:

  1. Apporta modifiche locali
  2. Metti da parte le modifiche locali
  3. 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

instagram viewer
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.