logo

Git | Práca so Stashom

Predpoklady: Git

Git umožňuje viacerým používateľom pracovať na rovnakom projekte súčasne. Predpokladajme, že vývojár pracuje na funkcii vo vetve a potrebuje stiahnuť zmeny z inej vetvy vývojára alebo ak musí urgentne pracovať na inej funkcii, ale funkcia, na ktorej momentálne pracuje, nie je úplná. V tomto prípade nemôžete odovzdať čiastočný kód aktuálne fungujúcej funkcie. Ak chcete pridať túto novú funkciu, musíte odstrániť svoje aktuálne zmeny a uložiť ich niekde inde. Pre tento typ situácie ponúka Git veľmi užitočný príkaz známy ako „ git skrýša '. git skrýša príkaz uloží predtým napísaný kód a potom sa vráti k poslednému odovzdaniu na nový začiatok. Teraz môžete pridať novú funkciu bez narušenia starej funkcie, pretože je uložená lokálne. Po prijatí novej funkcie môžete pokračovať v práci na starej funkcii, ktorá bola neúplná a nepotvrdená.



Git stash vs Git Commit

Existujú dva alternatívne spôsoby, ako uložiť zmeny do úložiska git: stash a commit.

Git skrýša: Ak vývojár pracuje na projekte a chce zachovať zmeny bez ich potvrdenia, možno na to použiť príkaz Git stash. To mu umožní prepínať pobočky a pracovať na iných projektoch bez ovplyvnenia existujúcich úprav. Úpravy môžete vrátiť späť, kedykoľvek je to potrebné, a uloží aktuálny stav a vráti vývojárov do predchádzajúceho stavu.

Git commit: Vývojári chcú natrvalo ukladať svoje zmeny zdrojového kódu do histórie úložiska. The git commit možno na to použiť príkaz. Git vytvorí nové potvrdenie, ktoré zdokumentuje vaše úpravy a pridá ich do histórie úložiska.



Sumarizovať. Git natrvalo uloží zmeny do histórie úložiska, zatiaľ čo Git stash sa používa na zálohovanie súborov, na ktorých pracujeme, ale ešte nie sú pripravené na potvrdenie.

Git Stash vs Git Reset

Oba príkazy je možné kombinovať na spravovanie zmien v úložisku Git a majú rôzne prípady použitia.

Git reset a Git stash Pomocou týchto dvoch príkazov môžeme obnoviť všetky predtým odstránené a zálohované súbory do aktuálneho pracovného adresára. Tieto dva hlavné rozdiely sú nasledovné:



Git Stash

Git Reset

Git stash sa používa na uloženie súborov, ktoré sú upravené a nie sú pripravené na odovzdanie.

Git reset môže zmeny úplne vrátiť späť a zmení ukazovateľ vetvy na nové odovzdanie

Vývojári môžu prepínať pobočky a pracovať na iných úlohách bez toho, aby to ovplyvnilo aktuálne zmeny.

Zmeny, ktoré už boli vykonané, sa resetovaním Git zahodia.

Git Stash vs Git Stage

Staging sa používa na prípravu zmien na následné odovzdanie, zatiaľ čo skrýša Git sa používa na zálohovanie súborov, ktoré boli upravené, ale ešte nie sú pripravené na odovzdanie. Oba príkazy je možné kombinovať na spravovanie zmien v úložisku Git a majú rôzne prípady použitia.

Git Stash Git Stage
Git stash sa používa na zálohovanie súborov Súbory sa pridávajú do indexu git pomocou fázy git.

Git stash sa používa, ak sa potrebujete prepnúť na inú úlohu alebo vetvu počas práce na funkcii alebo oprave chyby.

Úpravy štádií Git sa majú zahrnúť do následného odovzdania, keď použijete príkaz git add.

Ktorý priečinok ukladá históriu Git Stash?

Keď použijeme git stash, údaje budú uložené vo forme skrýš v našom lokálnom úložisku. V predvolenom nastavení budú údaje uložené v súbore git/refs/stash. V tomto súbore sú uložené všetky referencie a aktuálne údaje sú uložené v adresári .git/objects, rovnako ako ostatné objekty Git .

čo je myspace

Nasledujúci príkaz sa používa na zobrazenie zoznamu všetkých skrýš, ktoré boli vytvorené.

git stash list>

Ako uložíte zmeny v Git?

Ak chcete uložiť nepotvrdené zmeny na neskoršie použitie, môžete použiť „git stash“ príkaz. Tento príkaz uloží vaše lokálne úpravy a vráti pracovný adresár tak, aby zodpovedal potvrdeniu HEAD, takže vám poskytne čistý pracovný adresár.

Tu je niekoľko dôležitých možností, ktoré sa najčastejšie používajú:

    Git stash Git stash uložiť Git stash zoznam Git stash použiť Git stash zmeny Git stash pop Git stash drop Git stash clear Git stash vetva

Ukladanie vašej práce (Git Stash)

git stash>
stav git

V predvolenom nastavení je spustený git skrýša uloží zmeny, ktoré boli pridané do vášho indexu (zmeny po etapách) a zmeny vykonané v súboroch, ktoré aktuálne sleduje Git (zmeny bez etapy). Ak chcete uložiť nesledované súbory, použite git skrýša -u .

Správa viacerých skrýš (Git Stash List)

Môžete vytvoriť viacero skrýš a zobraziť ich pomocou „git stash list“ príkaz. Každá skrýša je uvedená s jej názvom (napr. stash@{1} ), názov vetvy, ktorá bola aktuálna, keď bol záznam vykonaný, a krátky popis odovzdania, na ktorom bol záznam založený.

git stash list>
git zoznam skrýš

Aby sme poskytli viac kontextu skrýši, vytvoríme skrýšu pomocou nasledujúceho príkazu:

git stash save 'message'>

Čo sú aplikácie Git Stash Apply a POP (Git Stash Apply & POP)

Predtým uložené zmeny môžete znova použiť pomocou „git stash pop“ alebo ‘použitie git stash’ príkazy. Jediný rozdiel medzi oboma príkazmi je v tom „git stash pop“ odstráni zmeny zo skrýše a znova použije zmeny v pracovnej kópii ‘použitie git stash’ iba znova použije zmeny v pracovnej kópii bez odstránenia zmien zo schránky. jednoduchými slovami, pop odstráni stav zo zoznamu skrýš while uplatniť neodstráni stav zo zoznamu skrýš. Pomocou následného príkazu môžeme uložené zmeny znova použiť. Najaktuálnejšia skrýša bude použitá v našom pracovnom adresári a bude tiež prevzatá zo zoznamu skrýš.

git stash pop>
git stash pop
git stash apply>
použiť git stash

Predvolene „git stash pop“ alebo ‘použitie git stash’ znova použije naposledy vytvorenú skrýšu: stash@{0} Ak chcete vybrať, ktorá skrýša sa má použiť, môžete zadať identifikátor ako posledný argument ( Pre napr. :- git stash pop stash@{2}).

Git Stash Show

git stash show príkaz sa používa na zobrazenie súhrnu operácií vykonaných na skrýši.

git stash show>
git stash show

Vytvorenie pobočky z vašej skrýše (pobočka Git Stash)

Ak chcete vytvoriť a skontrolovať novú vetvu počnúc odovzdaním, v ktorom bola skrýša pôvodne vytvorená a použiť zmeny uložené v skrýši, použite ‘git stash pobočka názov_pobočky názov_úkrytu’ . Zahodí skrýšu, ktorá je zadaná ako argument, a ak nie je zadaná žiadna skrýša, zahodí najnovšiu.

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

Vyčistenie skrýše (Git Stash Clear)

Ak chcete odstrániť akúkoľvek konkrétnu skrýšu ( Napríklad: – stash@{1}), použite ‘git stash drop stash@{1}’ . V predvolenom nastavení sa tento príkaz zruší stash@{0} ak nie je poskytnutý žiadny argument ( git stash drop ). Ak chcete odstrániť všetky skrýše naraz, použite „git stash clear“ príkaz.

Git Stash Clear

Príkaz git stash nám umožňuje ponechať nepotvrdené úpravy, aby sme ich mohli použiť podľa potreby v budúcnosti. Keď použijeme príkaz git stash, súbory sa automaticky zálohujú. To nám umožňuje prepínať vetvy, vykonávať domáce práce a potom ľahko získať súbory späť, keď sme pripravení na nich znova pracovať.

Git skrýšu

Ukladanie nesledovaných alebo ignorovaných súborov

Na uloženie nesledovaných alebo ignorovaných súborov môžeme použiť príkaz git stash. Podľa nasledujúcich krokov môžeme naše súbory ukryť:

Krok 1: Uchovajte zmeny pomocou nižšie uvedeného príkazu.

git stash save --include-untracked>

–include-untracked týmto uloží aj všetky nesledované súbory.

Krok 2: Overte skrýšu:

Pomocou nižšie uvedeného príkazu potvrďte, že skrýša bola vytvorená:

git stash list>

Krok 3: Pomocou nasledujúceho príkazu môžeme vrátiť späť a použiť skrýšu.

git stash apply stash@{0}>

Krok 4: Po dokončení vrátenia skrýše späť, ak je nechcená, môžeme skrýšu odstrániť pomocou nasledujúceho príkazu.

git stash drop stash@{0}>

Osvedčené postupy Git Stash

Tu je niekoľko osvedčených postupov na používanie Git skrýšu príkaz.

  1. Nepoužívajte nadmerne git stash: Git stash sa musí používať s mierou vždy, keď je veľmi dôležité pracovať na inej úlohe, potom by sme mali používať iba git stash, ovplyvní to zmeny, ktoré je potrebné vykonať pri odovzdávaní.
  2. Vyhnite sa zbytočným správam: Pomocou git stash môžete pridať správu s popisom zmien, ktoré ukladáte. Dajte správe zmysel. Keď si neskôr potrebujete spomenúť, čo je v skrýši, bude sa vám to hodiť. Používajte vyhlásenia, ktoré sú informatívne a evokujúce a ktoré presne odrážajú skryté zmeny.
  3. Zamestnávajte pobočky: Stashing je užitočný nástroj pri práci s vetvami Git. Pred uložením zmien vytvorte novú vetvu, aby ste mohli prepínať na rôzne úlohy alebo vetvy bez toho, aby to ovplyvnilo vaše aktuálne zmeny. Vráťte sa späť na pobočku a použite skrýšu, keď budete pripravení znova pracovať na úpravách.
  4. Zmeny by sa mali vykonať čo najskôr: skladovanie by sa malo používať len ako dočasné riešenie. Po dokončení vykonávania sady zmien by ste ich mali odovzdať do úložiska, aby sa zachoval záznam o zmenách.