A volte vorresti cambiare ramo, ma stai lavorando su una parte incompleta del tuo progetto attuale. Non vuoi impegnarti con un lavoro fatto a metà. Git stashing ti consente di farlo. IL comando git stash ti consente di cambiare ramo senza impegnare il ramo corrente.
La figura seguente mostra le proprietà e il ruolo dello stashing relativo al repository e alla directory di lavoro.
Generalmente, il significato della scorta è ' conservare qualcosa in modo sicuro in un luogo nascosto .' Il senso in Git è lo stesso anche per stash; Git salva temporaneamente i tuoi dati in modo sicuro senza impegno.
Lo stashing prende lo stato disordinato della tua directory di lavoro e lo salva temporaneamente per un ulteriore utilizzo. Molte opzioni sono disponibili con git stash. Di seguito sono riportate alcune opzioni utili:
Lavoro di archiviazione
Capiamolo con uno scenario in tempo reale. Ho apportato modifiche al mio progetto GitExample2 in due file da due rami distinti. Sono in uno stato disordinato e non ho ancora modificato completamente alcun file. Quindi voglio salvarlo temporaneamente per un uso futuro. Possiamo metterlo da parte per salvarlo come stato attuale. Per mettere da parte, diamo un'occhiata allo stato attuale del repository. Per verificare lo stato corrente del repository, esegui il comando git status. Il comando git status viene utilizzato come:
interfaccia c++
Sintassi:
$ git status
Produzione:
Dall'output sopra, puoi vedere lo stato della presenza di due file non tracciati design.css E nuovofile.txt disponibile nel repository. Per salvarlo temporaneamente possiamo utilizzare il comando git stash. Il comando git stash viene utilizzato come:
Sintassi:
$ git stash
Produzione:
Nell'output fornito, il lavoro viene salvato con il comando git stash. Possiamo controllare lo stato del repository.
Come puoi vedere, il mio lavoro è semplicemente nascosto nella sua posizione attuale. Ora la directory viene pulita. A questo punto è possibile passare da un ramo all'altro e lavorare su di essi.
Git Stash Save (Salvataggio degli Stash con il messaggio):
In Git, le modifiche possono essere nascoste con un messaggio. Per nascondere una modifica con un messaggio, esegui il comando seguente:
Sintassi:
$ git stash save ''
Produzione:
La scorta sopra verrà salvata con un messaggio
Elenco Git Stash (controlla gli stash archiviati)
Per controllare le scorte memorizzate, esegui il comando seguente:
Sintassi:
$ git stash list
Produzione:
Nel caso precedente, ho creato una scorta, che viene visualizzata come ' stash@{0}: WIP sul test: file CSS 0a1a475 '.
Se abbiamo più di una scorta, verranno visualizzate tutte le scorte rispettivamente con un ID scorta diverso. Considera l'output seguente:
Mostrerà tutte le scorte con l'indicizzazione come scorta@{0}: scorta@{1}: e così via.
Git Stash Applica
Puoi riapplicare le modifiche che hai appena nascosto utilizzando il comando git stash. Per applicare il commit, utilizzare il comando git stash, seguito dall'opzione apply. È usato come:
Sintassi:
$ git stash apply
Produzione:
L'output sopra ripristina l'ultima scorta. Ora, se controllerai lo stato del repository, mostrerà le modifiche apportate al file. Considera quanto segue produzione:
trasforma la stringa in int
Dall'output precedente, puoi vedere che il repository è stato ripristinato al suo stato precedente prima di stash. Mostra l'output come ' Modifiche non organizzate per il commit .'
In caso di più di uno stash, è possibile utilizzare il comando 'git stash apply' seguito dall'ID dell'indice stash per applicare il commit particolare. È usato come:
Sintassi:
$ git stash apply
Considera l'output seguente:
Produzione:
Se non specifichiamo uno stash, Git prende lo stash più recente e prova ad applicarlo.
Modifiche a Git Stash
Possiamo tenere traccia delle scorte e dei loro cambiamenti. Per visualizzare le modifiche nel file prima dell'operazione di stash e dopo l'operazione di stash, eseguire il comando seguente:
Sintassi:
$ git stash show
Il comando precedente mostrerà il file nascosto e le modifiche apportate su di esso. Considera l'output seguente:
Produzione:
L'output precedente illustra che ci sono due file nascosti e due inserimenti eseguiti su di essi.
Possiamo tenere traccia esattamente delle modifiche apportate al file. Per visualizzare il contenuto modificato del file, eseguire il comando seguente:
Sintassi:
$ git stash show -p
Qui, -p sta per la scorta parziale. Il comando dato mostrerà i file e il contenuto modificati, considera l'output seguente:
Produzione:
L'output sopra mostra il nome del file con il contenuto modificato. Funziona allo stesso modo del comando git diff. IL git diff il comando mostrerà anche l'output esatto.
Git Stash Pop (riapplicazione delle modifiche nascoste)
Git consente all'utente di riapplicare i commit precedenti utilizzando il comando git stash pop. L'opzione popping rimuove le modifiche dalla scorta e le applica al file di lavoro.
Il comando git stash pop è abbastanza simile a git stash apply. La differenza principale tra entrambi questi comandi è il comando stash pop che elimina lo stash dallo stack dopo averlo applicato.
come convertire una stringa in un numero intero Java
Sintassi:
$ git stash pop
Il comando precedente riapplicherà i commit precedenti al repository. Considera l'output seguente.
Produzione:
Git Stash Drop (Unstash)
IL git stash drop il comando viene utilizzato per eliminare una scorta dalla coda. Generalmente, elimina la scorta più recente. È necessario prestare attenzione prima di utilizzare il comando stash drop, poiché è difficile da annullare se una volta applicato.
L'unico modo per ripristinarlo è se non chiudi il terminale dopo aver eliminato la scorta. Il comando stash drop verrà utilizzato come:
Sintassi:
$ git stash drop
Produzione:
Nell'output sopra, la scorta più recente (custodia@{0}) è stato eliminato da tre scorte. Il comando stash list elenca tutti gli stash disponibili nella coda.
Possiamo anche eliminare una determinata scorta dalla coda. Per eliminare un particolare stash dagli stash disponibili, passare l'id stash nel comando stash drop. Verrà elaborato come:
Sintassi:
$ git stash drop
Supponiamo che io abbia due scorte disponibili nella mia coda e che non voglia eliminare la mia scorta più recente, ma voglio eliminare quella più vecchia. Quindi, verrà gestito come:
$ git stash drop stash@{1}
Considera l'output seguente:
Nell'output precedente, il file commit scorta@{1} è stato eliminato dalla coda.
Git Stash Cancella
IL svuota la scorta il comando consente di eliminare tutte le scorte disponibili contemporaneamente. Per eliminare tutte le scorte disponibili, utilizzare il comando seguente:
Sintassi:
$ git stash clear
eliminerà tutte le scorte esistenti nel repository.
Produzione:
Tutte le scorte vengono eliminate nell'output sopra. Il comando git stash list è vuoto perché non ci sono stash disponibili nel repository.
Git Stash Branch
Se hai nascosto del lavoro su un ramo particolare e continui a lavorare su quel ramo. Quindi, potrebbe creare un conflitto durante la fusione. Quindi, è bene nascondere il lavoro su un ramo separato.
Il comando git stash branch consente all'utente di nascondere il lavoro su un ramo separato per evitare conflitti. La sintassi per questo ramo è la seguente:
Sintassi:
$ git stash branch
Il comando precedente creerà un nuovo ramo e trasferirà il lavoro nascosto su di esso. Considera l'output seguente:
Produzione:
Nell'output precedente, il lavoro nascosto viene trasferito a un ramo testing appena creato. Eviterà il conflitto di unione sul ramo principale.
Inkscape contro Gimp