logo

Git Stash

Noen ganger vil du bytte grener, men du jobber med en ufullstendig del av ditt nåværende prosjekt. Du ønsker ikke å forplikte deg til halvferdig arbeid. Git stashing lar deg gjøre det. De git stash kommando lar deg bytte gren uten å forplikte gjeldende gren.

Figuren nedenfor viser egenskapene og rollen til stashing angående depot og arbeidskatalog.

Git Stash

Generelt er stashens betydning ' lagre noe trygt på et skjult sted .' Sansen i Git er også den samme for stash; Git lagrer dataene dine midlertidig trygt uten å forplikte seg.

Stashing tar den rotete tilstanden til arbeidskatalogen din, og lagrer den midlertidig for videre bruk. Mange alternativer er tilgjengelige med git stash. Noen nyttige alternativer er gitt nedenfor:

    Git stash Git stash lagre Git stash liste Git stash gjelder Git stash endringer Git stash pop Git stash drop Gjør stash klart Git stash gren

Stashing arbeid

La oss forstå det med et sanntidsscenario. Jeg har gjort endringer i prosjektet mitt GitExample2 i to filer fra to forskjellige grener. Jeg er i en rotete tilstand, og jeg har ikke redigert noen fil ennå. Så jeg vil lagre den midlertidig for fremtidig bruk. Vi kan gjemme den for å lagre som gjeldende status. For å lagre, la oss ta en titt på depotets nåværende status. For å sjekke gjeldende status til depotet, kjør git status-kommandoen. Git status kommandoen brukes som:

javascript-operatører

Syntaks:

 $ git status 

Produksjon:

Git Stash

Fra utgangen ovenfor kan du se statusen at det er to usporede filer design.css og nyfil.txt tilgjengelig i depotet. For å lagre det midlertidig, kan vi bruke git stash-kommandoen. Git stash-kommandoen brukes som:

Syntaks:

 $ git stash 

Produksjon:

Git Stash

I den gitte utgangen lagres arbeidet med git stash-kommandoen. Vi kan sjekke statusen til depotet.

Git Stash

Som du kan se, er arbeidet mitt bare gjemt i sin nåværende posisjon. Nå er katalogen renset. På dette tidspunktet kan du bytte mellom grener og jobbe med dem.

Git Stash Save (Lagre Stashes med meldingen):

I Git kan endringene lagres med en melding. For å lagre en endring med en melding, kjør kommandoen nedenfor:

Syntaks:

 $ git stash save '' 

Produksjon:

Git Stash

Oppbevaringen ovenfor vil bli lagret med en melding

Git Stash List (Sjekk de lagrede stashene)

For å sjekke de lagrede stashene, kjør kommandoen nedenfor:

Syntaks:

 $ git stash list 

Produksjon:

Git Stash

I tilfellet ovenfor har jeg laget en stash, som vises som ' stash@{0}: WIP på testen: 0a1a475 CSS-fil '.

Hvis vi har mer enn én oppbevaring, vil den vise alle oppbevaringene med forskjellige oppbevarings-ID. Tenk på utgangen nedenfor:

Git Stash

Den vil vise alle stashene med indeksering som stash@{0}: stash@{1}: og så videre.

Git Stash Bruk

Du kan bruke endringene du nettopp har lagret på nytt ved å bruke git stash-kommandoen. For å bruke commit, bruk git stash-kommandoen, etterfulgt av Apply-alternativet. Den brukes som:

Syntaks:

 $ git stash apply 

Produksjon:

Git Stash

Ovennevnte utgang gjenoppretter siste stash. Nå, hvis du vil sjekke statusen til depotet, vil det vise endringene som er gjort på filen. Vurder det nedenfor produksjon:

Git Stash

Fra utdataene ovenfor kan du se at depotet er gjenopprettet til sin forrige tilstand før stash. Den viser utdata som ' Endringer som ikke er iscenesatt for commit .'

I tilfelle av mer enn én stash, kan du bruke 'git stash apply'-kommandoen etterfulgt av stash-indeks-ID for å bruke den aktuelle commit. Det brukes som:

java for loop

Syntaks:

 $ git stash apply 

Tenk på utgangen nedenfor:

Produksjon:

Git Stash

Hvis vi ikke spesifiserer en stash, tar Git den nyeste stashen og prøver å bruke den.

Git Stash endringer

Vi kan spore oppbevaringene og endringene deres. For å se endringene i filen før stash og etter stash-operasjon, kjør kommandoen nedenfor:

Syntaks:

 $ git stash show 

Kommandoen ovenfor viser filen som er lagret og endringer som er gjort på dem. Tenk på utgangen nedenfor:

Produksjon:

Git Stash

Ovennevnte utdata illustrerer at det er to filer som er gjemt, og to innsettinger utført på dem.

Vi kan nøyaktig spore hvilke endringer som gjøres på filen. For å vise det endrede innholdet i filen, utfør kommandoen nedenfor:

Syntaks:

 $ git stash show -p 

Her står -p for delvis stash. Den gitte kommandoen vil vise de redigerte filene og innholdet, vurder utdataene nedenfor:

Produksjon:

Git Stash

Utgangen ovenfor viser filnavnet med endret innhold. Den fungerer på samme måte som git diff-kommandoen. De git diff kommandoen vil også vise den nøyaktige utgangen.

Git Stash Pop (anvender stashed endringer på nytt)

Git lar brukeren bruke de tidligere forpliktelsene på nytt ved å bruke git stash pop-kommandoen. Popping-alternativet fjerner endringene fra stash og bruker dem på arbeidsfilen din.

Git stash pop-kommandoen er ganske lik git stash application. Hovedforskjellen mellom begge disse kommandoene er stash pop-kommando som sletter stash fra stabelen etter at den er brukt.

Syntaks:

gimp fjern vannmerke
 $ git stash pop 

Kommandoen ovenfor vil bruke de tidligere forpliktelsene på nytt til depotet. Vurder utgangen nedenfor.

Produksjon:

Git Stash

Git Stash Drop (Unstash)

De git stash drop kommandoen brukes til å slette en stash fra køen. Vanligvis sletter den den siste oppbevaringen. Forsiktighet bør utvises før du bruker stash drop-kommandoen, siden den er vanskelig å angre hvis den først er brukt.

Den eneste måten å tilbakestille det på er hvis du ikke lukker terminalen etter å ha slettet stash. Stash drop-kommandoen vil bli brukt som:

Syntaks:

 $ git stash drop 

Produksjon:

Git Stash

I utgangen ovenfor, den nyeste stash (stash@{0}) har blitt droppet fra gitte tre stasher. Stash list kommandoen viser alle tilgjengelige stashene i køen.

filmnettsteder som ligner på 123movies

Vi kan også slette en bestemt stash fra køen. For å slette en bestemt stash fra de tilgjengelige stashene, send stash-ID-en i stash drop-kommandoen. Det vil bli behandlet som:

Syntaks:

 $ git stash drop 

Anta at jeg har to stash tilgjengelig i køen min, og jeg ønsker ikke å droppe det siste oppbevaringsstedet mitt, men jeg vil slette den eldre. Deretter vil den bli betjent som:

 $ git stash drop stash@{1} 

Tenk på utgangen nedenfor:

Git Stash

I utgangen ovenfor, commit stash@{1} har blitt slettet fra køen.

Git Stash Clear

De git stash klart kommandoen lar deg slette alle tilgjengelige stash på en gang. For å slette alle tilgjengelige oppbevaringsplasser, bruk kommandoen nedenfor:

Syntaks:

 $ git stash clear 

det vil slette alle stashene som finnes i depotet.

Produksjon:

Git Stash

Alle stashene slettes i utgangen ovenfor. Git stash list-kommandoen er tom fordi det ikke er noen stash tilgjengelig i depotet.

Git Stash Branch

Hvis du har lagret noe arbeid på en bestemt gren og fortsetter å jobbe med den grenen. Da kan det skape en konflikt under sammenslåing. Så det er greit å gjemme arbeid på en egen gren.

Git stash branch-kommandoen lar brukeren lagre arbeid på en separat gren for å unngå konflikter. Syntaksen for denne grenen er som følger:

Syntaks:

 $ git stash branch 

Kommandoen ovenfor vil opprette en ny gren og overføre det lagrede arbeidet til den. Tenk på utgangen nedenfor:

Produksjon:

Git Stash

I utgangen ovenfor overføres det lagrede arbeidet til en nyopprettet grentesting. Det vil unngå flettekonflikten på mastergrenen.