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.
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:
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:
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:
I den gitte utgangen lagres arbeidet med git stash-kommandoen. Vi kan sjekke statusen til depotet.
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:
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:
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:
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:
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:
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:
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:
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:
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 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:
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:
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:
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:
I utgangen ovenfor overføres det lagrede arbeidet til en nyopprettet grentesting. Det vil unngå flettekonflikten på mastergrenen.