logo

Git Stash

Nogle gange vil du skifte gren, men du arbejder på en ufuldstændig del af dit nuværende projekt. Du ønsker ikke at forpligte dig til halvfærdigt arbejde. Git stashing giver dig mulighed for at gøre det. Det git stash kommando giver dig mulighed for at skifte filial uden at forpligte den aktuelle filial.

Nedenstående figur viser egenskaberne og rollen af ​​stashing vedrørende repository og arbejdsmappe.

Git Stash

Generelt er gemmernes betydning ' opbevare noget sikkert på et skjult sted .' Forstanden i Git er også den samme for stash; Git gemmer midlertidigt dine data sikkert uden at forpligte sig.

Stashing tager den rodede tilstand af din arbejdsmappe og gemmer den midlertidigt til videre brug. Mange muligheder er tilgængelige med git stash. Nogle nyttige muligheder er givet nedenfor:

    Git stash Git stash gem Git stash liste Git stash gælder Git stash ændringer Git stash pop Git stash drop Git stash klart Git stash gren

Opbevaringsarbejde

Lad os forstå det med et scenarie i realtid. Jeg har lavet ændringer til mit projekt GitExample2 i to filer fra to forskellige grene. Jeg er i en rodet tilstand, og jeg har ikke redigeret nogen fil endnu. Så jeg vil gemme det midlertidigt til fremtidig brug. Vi kan gemme det for at gemme det som dets nuværende status. For at gemme, lad os tage et kig på depotets nuværende status. For at kontrollere den aktuelle status for depotet skal du køre kommandoen git status. Git status kommandoen bruges som:

diana ankudinova

Syntaks:

 $ git status 

Produktion:

Git Stash

Fra ovenstående output kan du se status for, at der er to usporede filer design.css og nyfil.txt tilgængelig i depotet. For at gemme det midlertidigt, kan vi bruge kommandoen git stash. Git stash kommandoen bruges som:

Syntaks:

 $ git stash 

Produktion:

Git Stash

I det givne output gemmes arbejdet med git stash-kommandoen. Vi kan kontrollere status for depotet.

Git Stash

Som du kan se, er mit arbejde bare gemt i sin nuværende position. Nu er mappen renset. På dette tidspunkt kan du skifte mellem grene og arbejde på dem.

Git Stash Save (Save Stashes med beskeden):

I Git kan ændringerne gemmes med en besked. For at gemme en ændring med en besked, kør kommandoen nedenfor:

Syntaks:

 $ git stash save '' 

Produktion:

Git Stash

Ovenstående gemmer gemmes med en besked

Git Stash List (tjek de gemte stashes)

Kør nedenstående kommando for at kontrollere de gemte gemmer:

Syntaks:

 $ git stash list 

Produktion:

Git Stash

I ovenstående tilfælde har jeg lavet en stash, som vises som ' stash@{0}: WIP på testen: 0a1a475 CSS-fil '.

Hvis vi har mere end én gemmer, vil den vise alle gemmerne med forskelligt stash-id. Overvej nedenstående output:

Git Stash

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

Git Stash Anvend

Du kan genanvende de ændringer, du lige har gemt, ved at bruge git stash-kommandoen. For at anvende commit, brug git stash-kommandoen efterfulgt af anvende-indstillingen. Det bruges som:

Syntaks:

 $ git stash apply 

Produktion:

Git Stash

Ovenstående output gendanner den sidste stash. Nu, hvis du vil kontrollere status for depotet, vil det vise de ændringer, der er foretaget på filen. Overvej nedenstående produktion:

Git Stash

Fra ovenstående output kan du se, at lageret er gendannet til dets tidligere tilstand før stash. Det viser output som ' Ændringer ikke iscenesat til commit .'

I tilfælde af mere end én stash, kan du bruge kommandoen 'git stash apply' efterfulgt af stash index id for at anvende den bestemte commit. Det bruges som:

java til loop

Syntaks:

 $ git stash apply 

Overvej nedenstående output:

Produktion:

Git Stash

Hvis vi ikke angiver en stash, tager Git den seneste stash og forsøger at anvende den.

Ændringer i Git Stash

Vi kan spore gemmerne og deres ændringer. For at se ændringerne i filen før stash og efter stash-operation skal du køre nedenstående kommando:

Syntaks:

 $ git stash show 

Ovenstående kommando viser filen, der er gemt, og ændringer foretaget på dem. Overvej nedenstående output:

Produktion:

Git Stash

Ovenstående output illustrerer, at der er to filer, der er gemt, og to indsættelser udføres på dem.

Vi kan nøjagtigt spore, hvilke ændringer der foretages på filen. For at få vist det ændrede indhold af filen skal du udføre nedenstående kommando:

Syntaks:

 $ git stash show -p 

Her står -p for den delvise stash. Den givne kommando vil vise de redigerede filer og indhold, overvej nedenstående output:

Produktion:

Git Stash

Ovenstående output viser filnavnet med ændret indhold. Det fungerer på samme måde som git diff kommando. Det git diff kommandoen vil også vise det nøjagtige output.

Git Stash Pop (genanvendelse af gemte ændringer)

Git giver brugeren mulighed for at genanvende de tidligere commits ved at bruge git stash pop-kommandoen. Pop-indstillingen fjerner ændringerne fra gemmerne og anvender dem på din arbejdsfil.

Git stash pop-kommandoen minder ret meget om git stash application. Den største forskel mellem begge disse kommandoer er stash pop-kommando, der sletter stash fra stakken, efter at den er anvendt.

Syntaks:

Linux gratis ipconfig
 $ git stash pop 

Ovenstående kommando vil genanvende de tidligere commits til depotet. Overvej nedenstående output.

Produktion:

Git Stash

Git Stash Drop (Unstash)

Det git stash drop kommandoen bruges til at slette en stash fra køen. Generelt sletter den den seneste stash. Der skal udvises forsigtighed, før du bruger stash drop-kommandoen, da den er svær at fortryde, hvis den først er blevet anvendt.

Den eneste måde at vende det tilbage på er, hvis du ikke lukker terminalen efter at have slettet gemmerne. Stash drop-kommandoen vil blive brugt som:

Syntaks:

 $ git stash drop 

Produktion:

Git Stash

I ovenstående output, den seneste stash (gemme@{0}) er blevet droppet fra givet tre gemmer. Kommandoen stash list viser alle de tilgængelige stashes i køen.

filmwebsteder, der ligner 123movies

Vi kan også slette en bestemt stash fra køen. For at slette et bestemt gemmer fra de tilgængelige gemmer skal du videregive kommandoen stash-id i stash drop. Det vil blive behandlet som:

Syntaks:

 $ git stash drop 

Antag, at jeg har to ledige stashes i min kø, og jeg ønsker ikke at droppe mit seneste stash, men jeg vil slette den ældre. Derefter vil det blive betjent som:

 $ git stash drop stash@{1} 

Overvej nedenstående output:

Git Stash

I ovenstående output er commit stash@{1} er blevet slettet fra køen.

Git Stash Clear

Det git stash klart kommandoen gør det muligt at slette alle tilgængelige gemmer på én gang. For at slette alle tilgængelige gemmer, betjening nedenstående kommando:

Syntaks:

 $ git stash clear 

det vil slette alle de gemmer der findes i depotet.

Produktion:

Git Stash

Alle gemmerne slettes i ovenstående output. Git stash list kommandoen er tom, fordi der ikke er nogen stash tilgængelige i repository.

Git Stash Branch

Hvis du gemte noget arbejde på en bestemt gren og fortsætter med at arbejde på den gren. Derefter kan det skabe en konflikt under sammenlægning. Så det er godt at gemme arbejde på en separat gren.

Git stash branch kommandoen tillader brugeren at gemme arbejde på en separat gren for at undgå konflikter. Syntaksen for denne gren er som følger:

Syntaks:

 $ git stash branch 

Ovenstående kommando vil oprette en ny gren og overføre det gemte arbejde på det. Overvej nedenstående output:

Produktion:

Git Stash

I ovenstående output overføres det gemte arbejde til en nyoprettet grentest. Det vil undgå fusionskonflikten på mastergrenen.