logo

Git | Arbejder med Stash

Forudsætninger: Git

Git giver flere brugere mulighed for at arbejde på det samme projekt samtidigt. Antag, at en udvikler arbejder på en funktion i en gren, og han skal trække ændringer fra en anden udviklers gren, eller hvis han er nødt til at arbejde akut på en anden funktion, men den funktion, han i øjeblikket arbejder på, er ufuldstændig. I dette tilfælde kan du ikke begå den delvise kode for den aktuelt fungerende funktion. For at tilføje denne nye funktion skal du fjerne dine nuværende ændringer og gemme dem et andet sted. Til denne type situation tilbyder Git en meget nyttig kommando kendt som ' git stash '. git stash kommandoen gemmer den tidligere skrevne kode og vender derefter tilbage til den sidste commit for en ny start. Nu kan du tilføje den nye funktion uden at forstyrre den gamle, da den er gemt lokalt. Når du har forpligtet dig til den nye funktion, kan du fortsætte med at arbejde på den gamle funktion, som var ufuldstændig og uforpligtende.



Git stash vs Git Commit

Der er to alternative måder at gemme ændringer i git-lageret på: stash og commit.

Git stash: Git stash-kommandoen kan bruges til at opnå dette, hvis en udvikler arbejder på et projekt og ønsker at bevare ændringerne uden at begå dem. Dette vil give ham mulighed for at skifte filial og arbejde på andre projekter uden at påvirke de eksisterende ændringer. Du kan rulle ændringer tilbage, når det er nødvendigt, og det gemmer den aktuelle tilstand og ruller udviklere tilbage til en tidligere tilstand.

Git commit: Udviklere ønsker permanent at gemme deres ændringer af kildekoden i lagerhistorikken. Det git commit kommandoen kan bruges til at opnå dette. Git opretter en ny commit, der dokumenterer dine ændringer og tilføjer dem til lagerhistorikken.



At opsummere. Git commits gemmer permanent ændringer til lagerhistorikken, mens Git stash bruges til at tage en sikkerhedskopi af de filer, vi arbejder på, men endnu ikke er klar til at blive commiteret.

Git Stash vs Git Reset

Begge kommandoer kan kombineres for at administrere ændringer til et Git-lager og har forskellige brugssager.

Git reset og Git stash Med disse to kommandoer kan vi gendanne alle tidligere slettede og sikkerhedskopierede filer til den aktuelle arbejdsmappe. Disse to primære sondringer er som følger:



Git Stash

Git Reset

Git stash bruges til at gemme de filer, der er lavet modifikationer og ikke er klar til at commit.

Git reset kan fortryde ændringerne fuldstændigt og ændre branchemarkøren til den nye commit

Udviklere kan skifte filial og arbejde på andre opgaver uden at påvirke de aktuelle ændringer.

Ændringer, der allerede er foretaget, kasseres af Git-nulstilling.

Git Stash vs Git Stage

Staging bruges til at gøre ændringerne klar til den efterfølgende commit, mens Git stash bruges til at tage en backup af filer, der er blevet ændret, men som endnu ikke er klar til at blive commit. Begge kommandoer kan kombineres for at administrere ændringer til et Git-lager og har forskellige brugssager.

Git Stash Git Stage
Git stash bruges til at tage backup af filer Filer tilføjes til git-indekset ved hjælp af git-stadiet.

Git stash bruges, hvis du skal skifte til en anden opgave eller gren, mens du arbejder på en funktion eller fejlrettelse.

Git-stadier-modifikationer skal inkluderes i den efterfølgende commit, når du bruger git add-kommandoen.

Hvilken mappe gemmer Git Stash-historien?

Når vi bruger git stash vil dataene blive gemt i form af stashes i vores lokale repository. Som standard vil dataene blive gemt i git/refs/stash-filen. I denne fil er alle referencerne gemt, og de faktiske data gemmes i .git/objects-mappen, ligesom andre Git-objekter.

metoder i java

Kommandoen nedenfor bruges til at liste alle de gemmer, der er blevet oprettet.

git stash list>

Hvordan gemmer du ændringer i Git?

For at gemme de ikke-forpligtede ændringer til senere brug, kan du bruge 'git stash' kommando. Denne kommando gemmer dine lokale ændringer væk og vender arbejdsbiblioteket tilbage til at matche HEAD commit, så det giver dig en ren arbejdsmappe.

Her er nogle vigtige muligheder, der er mest udbredt:

    Git stash Git stash gem Git stash liste Git stash anvende Git stash ændringer Git stash pop Git stash drop Git stash clear Git stash branch

Gem dit arbejde (Git Stash)

git stash>
git status

Kører som standard git stash vil gemme de ændringer, der er blevet tilføjet til dit indeks (iscenesatte ændringer) og ændringer foretaget til filer, der i øjeblikket spores af Git (ufasede ændringer). For at gemme dine usporede filer, brug git stash -u .

Håndtering af flere stashes (Git Stash List)

Du kan oprette flere gemmer og se dem ved hjælp af 'git stash liste' kommando. Hver lagerpost er opført med sit navn (f.eks. stash@{1} ), navnet på den filial, der var aktuel, da posten blev foretaget, og en kort beskrivelse af den forpligtelse, posten var baseret på.

git stash list>
git stash liste

For at give mere kontekst til gemmerne opretter vi gemmerne ved hjælp af følgende kommando:

git stash save 'message'>

Hvad er Git Stash Apply And POP (Git Stash Apply & POP)

Du kan genanvende de tidligere gemte ændringer med 'git stash pop' eller 'git stash gælder' kommandoer. Den eneste forskel mellem de to kommandoer er det 'git stash pop' fjerner ændringerne fra gemmerne og anvender ændringerne i arbejdskopien igen, mens 'git stash gælder' genanvender kun ændringerne i arbejdskopien uden at fjerne ændringerne fra gemmerne. Med enkle ord, pop fjerner tilstanden fra gemmerlisten mens ansøge fjerner ikke tilstanden fra gemmerlisten. Ved hjælp af den efterfølgende kommando kan vi genanvende de gemte ændringer. Den seneste gemme vil blive anvendt på vores arbejdsmappe, og den vil også blive taget fra listen over gemmer.

git stash pop>
git stash pop
git stash apply>
git stash gælder

Som standard 'git stash pop' eller 'git stash gælder' vil genanvende den senest oprettede stash: stash@{0} For at vælge, hvilken stash der skal anvendes, kan du sende identifikatoren som det sidste argument ( For fx. :- git stash pop stash@{2}).

Git Stash Show

git stash show kommandoen bruges til at vise oversigten over operationer udført på gemmerne.

git stash show>
git stash show

Oprettelse af en filial fra dit lager (Git Stash Branch)

Hvis du vil oprette og tjekke en ny filial ud fra den commit, hvor arkivet oprindeligt blev oprettet og anvende ændringerne, der er gemt i arkivet, skal du bruge 'git stash branch branch_name stash_name' . Den taber den stash, der er givet som argument, og hvis der ikke er givet nogen stash, dropper den den seneste.

git stash branch newbranch stash@{0}>
git stash gren

Ryd op i dit gemmer (Git Stash Clear)

For at slette et bestemt gemmer ( For eksempel: – stash@{1}), brug 'git stash drop stash@{1}' . Som standard forsvinder denne kommando stash@{0} hvis intet argument er givet ( git stash drop ). For at slette alle gemmer på én gang skal du bruge 'git stash clear' kommando.

Git Stash Clear

Git stash-kommandoen giver os mulighed for at beholde uforpligtede ændringer, så vi kan bruge dem efter behov i fremtiden. Når vi bruger git stash-kommandoen, bliver filerne automatisk sikkerhedskopieret. Dette giver os mulighed for at skifte afdeling, udføre vores gøremål og derefter nemt få filerne tilbage, når vi er klar til at arbejde på dem igen.

Git stash

Gem usporede eller ignorerede filer

Vi kan bruge git stash-kommandoen til at gemme filerne, som er usporede eller ignorerede filer. Ved at følge nedenstående trin kan vi gemme vores filer:

Trin 1: Gem ændringerne for det ved at bruge nedenstående kommando.

git stash save --include-untracked>

-include-untracked af dette vil det også gemme alle de usporede filer.

Trin 2: Bekræft gemmerne:

Brug nedenstående kommando for at bekræfte, at gemmerne blev oprettet:

git stash list>

Trin 3: Ved at bruge følgende kommando kan vi bringe tilbage og anvende gemmerne.

git stash apply stash@{0}>

Trin 4: Når du er færdig med at bringe arkivet tilbage, hvis det er uønsket, kan vi slette det ved at bruge følgende kommando.

git stash drop stash@{0}>

Git Stash bedste praksis

Her er nogle bedste fremgangsmåder til at bruge Git stash kommando.

  1. Overbrug ikke git stash: Git stash skal bruges moderat, når det er meget vigtigt at arbejde på en anden opgave, så kun vi skal bruge git stash det vil påvirke de ændringer, der skal foretages i commit.
  2. Undgå unødvendige beskeder: Ved at bruge git stash kan du tilføje en besked til at beskrive de ændringer, du gemmer. Gør budskabet meningsfuldt. Når du senere skal huske, hvad der er i gemmerne, vil dette være nyttigt. Brug udtalelser, der er informative og stemningsfulde, og som nøjagtigt afspejler de ændringer, der skjules.
  3. Ansæt filialer: Stashing er et nyttigt værktøj, når du arbejder med Git-grene. Før du gemmer ændringer, skal du lave en ny gren, så du kan skifte til forskellige opgaver eller grene uden at påvirke dine nuværende ændringer. Vend tilbage til grenen og påfør gemmerne, når du er klar til at arbejde på ændringerne igen.
  4. Ændringer bør foretages så hurtigt som muligt: opbevaring bør kun bruges som en midlertidig løsning. Når du er færdig med at lave et sæt ændringer, bør du overlade dem til depotet for at bevare en registrering af ændringerne.