logo

Git | Delo s Stashem

Predpogoji: Git

Git omogoča več uporabnikom, da delajo na istem projektu hkrati. Recimo, da razvijalec dela na funkciji v veji in mora potegniti spremembe iz veje drugega razvijalca ali če mora nujno delati na kakšni drugi funkciji, vendar je funkcija, na kateri trenutno dela, nepopolna. V tem primeru ne morete potrditi delne kode trenutno delujoče funkcije. Če želite dodati to novo funkcijo, morate odstraniti trenutne spremembe in jih shraniti nekje drugje. Za to vrsto situacije Git ponuja zelo uporaben ukaz, znan kot git shramba '. git shramba ukaz shrani predhodno napisano kodo in se nato vrne k zadnji objavi za nov začetek. Zdaj lahko dodate novo funkcijo, ne da bi motili staro, saj je shranjena lokalno. Ko se zavežete novi funkciji, lahko nadaljujete z delom na stari funkciji, ki je bila nepopolna in nedodeljena.



Git stash proti Git Commit

Obstajata dva alternativna načina za shranjevanje sprememb v repozitorij git: shranjevanje in potrditev.

Skladišče Git: Ukaz Git stash lahko uporabite za dosego tega, če razvijalec dela na projektu in želi ohraniti spremembe, ne da bi jih potrdil. To mu bo omogočilo zamenjavo veje in delo na drugih projektih, ne da bi to vplivalo na obstoječe spremembe. Spremembe lahko povrnete, kadar koli je to potrebno, in shrani trenutno stanje ter vrne razvijalce v prejšnje stanje.

Git commit: Razvijalci želijo svoje spremembe izvorne kode trajno shraniti v zgodovino skladišča. The git commit za dosego tega lahko uporabite ukaz. Git ustvari novo potrditev, ki dokumentira vaše spremembe in jih doda v zgodovino skladišča.



Da povzamem. Git potrdi trajno shranjevanje sprememb v zgodovino repozitorija, medtem ko se Git stash uporablja za izdelavo varnostne kopije datotek, na katerih delamo, vendar še niso pripravljene za objavo.

Git Stash proti Git Reset

Oba ukaza je mogoče kombinirati za upravljanje sprememb v repozitoriju Git in imata različne primere uporabe.

Git reset in Git stash S tema dvema ukazoma lahko obnovimo vse predhodno izbrisane in varnostno kopirane datoteke v trenutni delovni imenik. Ti dve glavni razliki sta naslednji:



Git Stash

Git Ponastavi

Git stash se uporablja za shranjevanje datotek, ki so bile spremenjene in niso pripravljene za objavo.

Git reset lahko popolnoma razveljavi spremembe in spremeni kazalec veje na novo objavo

Razvijalci lahko zamenjajo veje in delajo na drugih nalogah, ne da bi to vplivalo na trenutne spremembe.

Spremembe, ki so že bile narejene, zavrže Git reset.

Git Stash proti Git Stage

Staging se uporablja za pripravo sprememb za poznejšo objavo, medtem ko se Git stash uporablja za izdelavo varnostne kopije datotek, ki so bile spremenjene, vendar še niso pripravljene za objavo. Oba ukaza je mogoče kombinirati za upravljanje sprememb v repozitoriju Git in imata različne primere uporabe.

Git Stash Git Stage
Git stash se uporablja za varnostno kopiranje datotek Datoteke se v indeks git dodajo s stopnjo git.

Git stash se uporablja, če morate med delom na funkciji ali popravku napake preklopiti na drugo nalogo ali vejo.

Spremembe stopenj Git je treba vključiti v poznejšo objavo, ko uporabite ukaz git add.

Katera mapa shranjuje zgodovino Git Stash?

Ko uporabljamo git stash, bodo podatki shranjeni v obliki shramb v našem lokalnem repozitoriju. Privzeto bodo podatki shranjeni v datoteki git/refs/stash. V tej datoteki so shranjeni vsi sklici in dejanski podatki so shranjeni v imeniku .git/objects, tako kot drugi objekti Git.

logika prvega reda

Spodnji ukaz se uporablja za seznam vseh ustvarjenih shramb.

git stash list>

Kako shranite spremembe v Git?

Če želite shraniti nepotrjene spremembe za kasnejšo uporabo, lahko uporabite 'git stash' ukaz. Ta ukaz shrani vaše lokalne spremembe in povrne delovni imenik, da se ujema s potrditvijo HEAD, tako da vam bo dal čist delovni imenik.

Tukaj je nekaj pomembnih možnosti, ki se najpogosteje uporabljajo:

    Git stash Git stash save Git stash list Git stash apply Git stash changes Git stash pop Git stash drop Git stash clear Git stash branch

Shranjevanje vašega dela (Git Stash)

git stash>
status git

Privzeto teče git shramba bo shranil spremembe, ki so bile dodane vašemu indeksu (stopenjske spremembe) in spremembe datotek, ki jih trenutno spremlja Git (nestopenjske spremembe). Če želite skriti svoje neizsledene datoteke, uporabite git stash -u .

Upravljanje več shramb (Git Stash List)

Ustvarite lahko več shramb in si jih ogledate z uporabo 'git stash list' ukaz. Vsak vnos v shrambo je naveden s svojim imenom (npr. zaloga@{1} ), ime veje, ki je bila aktualna, ko je bil vnos opravljen, in kratek opis objave, na kateri je temeljil vnos.

git stash list>
git seznam zalog

Da zagotovimo več konteksta skrinjici, jo ustvarimo z naslednjim ukazom:

git stash save 'message'>

Kaj sta Git Stash Apply in POP (Git Stash Apply & POP)

Prej skrite spremembe lahko znova uveljavite z 'git stash pop' oz 'git stash apply' ukazi. Edina razlika med obema ukazoma je ta 'git stash pop' odstrani spremembe iz skrovišča in znova uporabi spremembe v delovni kopiji, medtem ko 'git stash apply' samo znova uveljavi spremembe v delovni kopiji, ne da bi odstranil spremembe iz skrinje. Preprosto povedano, pop odstrani državo s seznama zalog, medtem ko uporabiti ne odstrani stanja s seznama zalogovnika. S pomočjo naslednjega ukaza lahko ponovno uveljavimo shranjene spremembe. Najnovejša shramba bo uporabljena v našem delovnem imeniku, vzeta pa bo tudi s seznama shramb.

git stash pop>
git stash pop
git stash apply>
git stash apply

Privzeto 'git stash pop' oz 'git stash apply' bo znova uporabil nazadnje ustvarjeno shrambo: stash@{0} Če želite izbrati, katero shrambo želite uporabiti, lahko posredujete identifikator kot zadnji argument ( Za npr. :- git stash pop stash@{2}).

Git Stash Show

git stash show ukaz se uporablja za prikaz povzetka operacij, izvedenih na shrambi.

git stash show>
git stash show

Ustvarjanje veje iz vaše skrinje (Git Stash Branch)

Če želite ustvariti in preveriti novo vejo, začenši od objave, na kateri je bil shramba prvotno ustvarjena, in uporabiti spremembe, shranjene v shrambi, uporabite 'git stash branch branch_name stash_name' . Izpusti zalogo, ki je podana kot argument, in če zaloga ni podana, izpusti zadnjo.

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

Čiščenje zaloge (Git Stash Clear)

Če želite izbrisati določeno shrambo ( Na primer: – skriti@{1}), uporabite 'git stash drop stash@{1}' . Privzeto bo ta ukaz opuščen skriti@{0} če argument ni naveden ( git stash drop ). Če želite izbrisati vse skrite naenkrat, uporabite 'git stash clear' ukaz.

Git Stash Clear

Ukaz git stash nam omogoča, da obdržimo neobvezne spremembe, da jih lahko po potrebi uporabimo v prihodnosti. Ko uporabimo ukaz git stash, se datoteke samodejno varnostno kopirajo. To nam omogoča, da preklapljamo med vejami, opravljamo svoja opravila in nato enostavno dobimo datoteke nazaj, ko smo pripravljeni znova delati na njih.

Git shramba

Shranjevanje nesledenih ali prezrtih datotek

Z ukazom git stash lahko shranimo datoteke, ki jim ni sledi ali so prezrte. Če sledimo spodnjim korakom, lahko skrijemo svoje datoteke:

Korak 1: Shranite spremembe za to s spodnjim ukazom.

git stash save --include-untracked>

–include-untracked s tem bo shranil tudi vse neizsledene datoteke.

2. korak: Preverite zalogo:

S spodnjim ukazom potrdite, da je bila shramba ustvarjena:

git stash list>

3. korak: Z uporabo naslednjega ukaza lahko vrnemo nazaj in uporabimo shrambo.

git stash apply stash@{0}>

4. korak: Ko končamo vrnitev skritega prostora, če je nezaželen, ga lahko izbrišemo z naslednjim ukazom.

git stash drop stash@{0}>

Najboljše prakse Git Stash

Tukaj je nekaj najboljših praks za uporabo Git shramba ukaz.

  1. Ne pretiravajte z git stash: Git stash je treba uporabljati zmerno, kadar koli je zelo pomembno delati na drugi nalogi, potem pa smemo uporabljati samo git stash, to bo vplivalo na spremembe, ki jih je treba narediti pri predaji.
  2. Izogibajte se nepotrebnim sporočilom: Z uporabo git stash lahko dodate sporočilo za opis sprememb, ki jih shranjujete. Naj bo sporočilo smiselno. Ko se boste pozneje morali spomniti, kaj je na zalogi, vam bo to prišlo prav. Uporabite izjave, ki so informativne in evokativne ter natančno odražajo prikrite spremembe.
  3. Zaposli podružnice: Stashing je koristno orodje pri delu z vejami Git. Preden shranite spremembe, naredite novo vejo, da boste lahko preklopili na druga opravila ali veje, ne da bi to vplivalo na vaše trenutne spremembe. Vrnite se nazaj v vejo in uporabite zalogo, ko boste pripravljeni znova delati na spremembah.
  4. Spremembe je treba izvesti čim hitreje: shranjevanje je treba uporabiti le kot začasno rešitev. Ko končate z naborom sprememb, jih morate vnesti v repozitorij, da ohranite zapis sprememb.