Prerequisiti: Git
Git consente a più utenti di lavorare contemporaneamente sullo stesso progetto. Supponiamo che uno sviluppatore stia lavorando su una funzionalità in un ramo e abbia bisogno di apportare modifiche dal ramo di un altro sviluppatore o che debba lavorare urgentemente su qualche altra funzionalità, ma la funzionalità su cui sta attualmente lavorando è incompleta. In questo caso, non è possibile confermare il codice parziale della funzionalità attualmente attiva. Per aggiungere questa nuova funzionalità, devi rimuovere le modifiche attuali e memorizzarle altrove. Per questo tipo di situazioni, Git offre un comando molto utile noto come ' git stash '. git stash Il comando salva il codice scritto in precedenza e quindi ritorna all'ultimo commit per un nuovo inizio. Ora puoi aggiungere la nuova funzionalità senza disturbare quella vecchia poiché viene salvata localmente. Dopo aver accettato la nuova funzionalità puoi continuare a lavorare sulla vecchia funzionalità che era incompleta e senza impegno.
Git stash contro Git Commit
Esistono due modi alternativi per salvare le modifiche nel repository git: stash e commit.
Metti la scorta: Il comando Git stash può essere utilizzato a questo scopo se uno sviluppatore sta lavorando su un progetto e desidera preservare le modifiche senza confermarle. Ciò gli consentirà di cambiare ramo e lavorare su altri progetti senza influenzare le modifiche esistenti. È possibile ripristinare le modifiche quando necessario e memorizza lo stato corrente e riporta gli sviluppatori a uno stato precedente.
Commit Git: Gli sviluppatori desiderano archiviare in modo permanente le modifiche apportate al codice sorgente nella cronologia del repository. IL gitcommit il comando può essere utilizzato per ottenere ciò. Git crea un nuovo commit che documenta le tue modifiche e le aggiunge alla cronologia del repository.
Per riassumere. Git esegue il commit in modo permanente e salva le modifiche nella cronologia del repository, mentre Git stash viene utilizzato per eseguire un backup dei file su cui stiamo lavorando ma non sono ancora pronti per essere impegnati.
Git Stash contro Git Reset
Entrambi i comandi possono essere combinati per gestire le modifiche a un repository Git e avere vari casi d'uso.
Git reset e Git stash Con questi due comandi, possiamo ripristinare tutti i file precedentemente eliminati e di cui è stato eseguito il backup nella directory di lavoro corrente. Queste due distinzioni principali sono le seguenti:
Git Stash | GitReimposta |
---|---|
Git stash viene utilizzato per salvare i file a cui sono state apportate modifiche e non sono pronti per il commit. | Git reset può annullare completamente le modifiche e modificare il puntatore del ramo nel nuovo commit |
Gli sviluppatori possono cambiare ramo e lavorare su altre attività senza influenzare le modifiche attuali. | Le modifiche già apportate vengono annullate dal ripristino di Git. |
Git Stash contro Git Stage
Lo staging viene utilizzato per preparare le modifiche per il successivo commit, mentre Git stash viene utilizzato per eseguire un backup dei file che sono stati modificati ma non sono ancora pronti per essere committati. Entrambi i comandi possono essere combinati per gestire le modifiche a un repository Git e avere vari casi d'uso.
Git Stash | Git Stage |
---|---|
Git stash viene utilizzato per eseguire il backup dei file | I file vengono aggiunti all'indice git utilizzando la fase git. |
Git stash viene utilizzato se è necessario passare a un'altra attività o ramo mentre si lavora su una funzionalità o sulla correzione di un bug. | Le modifiche alle fasi Git devono essere incluse nel commit successivo quando utilizzi il comando git add. |
Quale cartella memorizza la cronologia di Git Stash?
Quando utilizziamo git stash i dati verranno archiviati sotto forma di stash nel nostro repository locale. Per impostazione predefinita, i dati verranno archiviati nel file git/refs/stash. In questo file vengono archiviati tutti i riferimenti e i dati effettivi vengono archiviati nella directory .git/objects, proprio come gli altri oggetti Git.
comando zip su Linux
Il comando seguente viene utilizzato per elencare tutte le scorte che sono state create.
git stash list>
Come si archiviano le modifiche in Git?
Per salvare le modifiche non salvate per un utilizzo successivo, è possibile utilizzare il file 'gitta la scorta' comando. Questo comando salva le modifiche locali e ripristina la directory di lavoro in modo che corrisponda al commit HEAD in modo da fornire una directory di lavoro pulita.
Ecco alcune opzioni importanti che sono più ampiamente utilizzate:
- Git stash Git stash save Git stash list Git stash apply Git stash change Git stash pop Git stash drop Git stash clear Git stash branch
Conservare il tuo lavoro (Git Stash)
git stash>

Per impostazione predefinita, in esecuzione git stash memorizzerà le modifiche che sono state aggiunte al tuo indice (modifiche graduali) e le modifiche apportate ai file attualmente monitorati da Git (modifiche non graduali). Per riporre i file non tracciati, utilizza git stash -u .
Gestione di più stash (elenco Git Stash)
Puoi creare più scorte e visualizzarle utilizzando il file 'git stash list' comando. Ogni voce della scorta è elencata con il suo nome (ad es. scorta@{1} ), il nome del ramo corrente al momento della creazione della voce e una breve descrizione del commit su cui si basava la voce.
git stash list>

Per fornire più contesto allo stash, creiamo lo stash utilizzando il seguente comando:
git stash save 'message'>
Cosa sono Git Stash Apply e POP(Git Stash Apply & POP)
Puoi riapplicare le modifiche precedentemente nascoste con il file 'git stash pop' O 'git stash apply' comandi. L'unica differenza tra i due comandi è questa 'git stash pop' rimuove le modifiche dalla scorta e riapplica le modifiche nella copia di lavoro while 'git stash apply' riapplica solo le modifiche nella copia di lavoro senza rimuovere le modifiche dalla scorta. In parole semplici, pop rimuove lo stato dall'elenco delle scorte while fare domanda a non rimuove lo stato dall'elenco delle scorte. Con l'aiuto del comando successivo possiamo riapplicare le modifiche memorizzate. La scorta più recente verrà applicata alla nostra directory di lavoro e verrà anche presa dall'elenco delle scorte.
git stash pop>

git stash apply>

Per impostazione predefinita 'git stash pop' O 'git stash apply' riapplicherà la scorta creata più di recente: stash@{0} Per scegliere quale scorta applicare, puoi passare l'identificatore come ultimo argomento ( Per es. :- git stash pop stash@{2}).
Git Stash Show
git stash show Il comando viene utilizzato per visualizzare il riepilogo delle operazioni eseguite sullo stash.
git stash show>

Creare un ramo dal tuo Stash (Git Stash Branch)
Se vuoi creare ed estrarre un nuovo ramo a partire dal commit in cui è stato originariamente creato lo stash e applicare le modifiche salvate nello stash, usa 'git stash branch nome_ramo nome_stash' . Elimina la scorta fornita come argomento e se non viene fornita alcuna scorta, elimina quella più recente.
git stash branch newbranch stash@{0}>

Ripulire la tua scorta (Git Stash Clear)
Per eliminare qualsiasi scorta particolare ( Per esempio: – scorta@{1}), usa 'git stash drop stash@{1}' . Per impostazione predefinita, questo comando verrà eliminato scorta@{0} se non viene fornito alcun argomento ( git stash drop ). Per eliminare tutte le scorte contemporaneamente, utilizzare il file 'elimina la scorta' comando.

Il comando git stash ci consente di mantenere le modifiche non salvate in modo da poterle utilizzare secondo necessità in futuro. Quando utilizziamo il comando git stash, viene eseguito automaticamente il backup dei file. Ciò ci consente di cambiare ramo, svolgere le nostre faccende e quindi recuperare facilmente i file quando siamo pronti a lavorarci di nuovo.

Archiviazione di file non tracciati o ignorati
Possiamo usare il comando git stash per nascondere i file non tracciati o ignorati. Seguendo i passaggi seguenti possiamo nascondere i nostri file:
Passo 1: Metti da parte le modifiche utilizzando il comando seguente.
git stash save --include-untracked>
–include-untracked in questo modo metterà da parte anche tutti i file non tracciati.
Passo 2: Verifica la scorta:
Utilizza il comando seguente per confermare che la scorta è stata creata:
git stash list>
Passaggio 3: Utilizzando il comando seguente possiamo ripristinare e applicare la scorta.
git stash apply stash@{0}>
Passaggio 4: Una volta completato il ripristino della scorta, se indesiderata, possiamo eliminare la scorta utilizzando il seguente comando.
git stash drop stash@{0}>
Best practice per Git Stash
Ecco alcune best practice per l'utilizzo di Metti la scorta comando.
- Non abusare di git stash: Git stash deve essere usato con moderazione ogni volta che è molto importante lavorare su un'altra attività, solo allora dovremmo usare git stash perché influenzerà le modifiche che devono essere apportate durante il commit.
- Evita messaggi non necessari: Usando git stash, puoi aggiungere un messaggio per descrivere le modifiche che stai nascondendo. Rendi il messaggio significativo. Quando avrai bisogno di ricordare cosa c'è nella scorta in seguito, questo ti tornerà utile. Utilizzare dichiarazioni che siano informative ed evocative e che riflettano accuratamente i cambiamenti nascosti.
- Impiegare filiali: Lo stashing è uno strumento utile quando si lavora con i rami Git. Prima di memorizzare le modifiche, crea un nuovo ramo in modo da poter passare ad attività o rami diversi senza influire sulle modifiche attuali. Torna al ramo e applica la scorta quando sei pronto a lavorare ancora una volta sulle modifiche.
- Le modifiche dovrebbero essere apportate il più rapidamente possibile: la memorizzazione deve essere utilizzata solo come soluzione temporanea. Una volta che hai finito di apportare una serie di modifiche, dovresti salvarle nel repository per preservare un record delle modifiche.