Niekedy chcete zmeniť pobočky, ale pracujete na neúplnej časti vášho aktuálneho projektu. Nechcete sa zaviazať k polovičnej práci. Git stashing vám to umožňuje. The príkaz git stash umožňuje prepínať vetvy bez potvrdenia aktuálnej vetvy.
Nasledujúci obrázok ukazuje vlastnosti a úlohu ukladania týkajúce sa úložiska a pracovného adresára.
Vo všeobecnosti má skrýša význam „ niečo bezpečne uložte na skryté miesto .' Význam v Git je rovnaký aj pre skrýšu; Git dočasne bezpečne ukladá vaše údaje bez toho, aby sa zaviazal.
Stashing preberá chaotický stav vášho pracovného adresára a dočasne ho ukladá na ďalšie použitie. S git stash je dostupných veľa možností. Niektoré užitočné možnosti sú uvedené nižšie:
Ukrývacie práce
Poďme to pochopiť pomocou scenára v reálnom čase. Urobil som zmeny v mojom projekte GitExample2 v dvoch súboroch z dvoch odlišných vetiev. Som v neusporiadanom stave a ešte som úplne neupravil žiadny súbor. Preto si ho chcem dočasne uložiť na budúce použitie. Môžeme ho uložiť a uložiť ako jeho aktuálny stav. Aby sme to ukryli, pozrime sa na aktuálny stav úložiska. Ak chcete skontrolovať aktuálny stav archívu, spustite príkaz git status. Príkaz git status sa používa ako:
char + int v jazyku Java
Syntax:
$ git status
Výkon:
Z vyššie uvedeného výstupu môžete vidieť stav, že existujú dva nesledované súbory design.css a newfile.txt k dispozícii v úložisku. Na dočasné uloženie môžeme použiť príkaz git stash. Príkaz git stash sa používa ako:
Syntax:
$ git stash
Výkon:
V danom výstupe sa práca uloží príkazom git stash. Môžeme skontrolovať stav úložiska.
Ako môžete vidieť, moja práca je len schovaná v súčasnej polohe. Teraz je adresár vyčistený. V tomto bode môžete prepínať medzi vetvami a pracovať na nich.
Git Stash Save (Uloženie skrýš so správou):
V systéme Git môžu byť zmeny uložené v správe. Ak chcete uložiť zmenu do správy, spustite nasledujúci príkaz:
Syntax:
$ git stash save ''
Výkon:
Vyššie uvedená skrýša sa uloží so správou
Git Stash List (skontrolujte uložené skrýše)
Ak chcete skontrolovať uložené skrýše, spustite nasledujúci príkaz:
Syntax:
$ git stash list
Výkon:
Vo vyššie uvedenom prípade som vytvoril jednu skrýšu, ktorá sa zobrazuje ako „ stash@{0}: WIP na teste: súbor CSS 0a1a475 '.
linux make
Ak máme viac ako jednu skrýšu, potom sa zobrazia všetky skrýše s rôznym ID skrýše. Zvážte nasledujúci výstup:
Zobrazí všetky skrýše s indexovaním ako skrýš@{0}: skrýš@{1}: a tak ďalej.
Použiť Git Stash
Zmeny, ktoré ste práve uložili, môžete znova použiť pomocou príkazu git stash. Ak chcete použiť odovzdanie, použite príkaz git stash, za ktorým nasleduje voľba apply. Používa sa ako:
Syntax:
$ git stash apply
Výkon:
Vyššie uvedený výstup obnoví poslednú skrýšu. Ak teraz skontrolujete stav úložiska, zobrazí sa zmeny vykonané v súbore. Zvážte nižšie uvedené výkon:
Z vyššie uvedeného výstupu môžete vidieť, že úložisko je obnovené do predchádzajúceho stavu pred uložením. Zobrazuje výstup ako „ Zmeny nie sú pripravené na odovzdanie .'
V prípade viac ako jednej skrýše môžete použiť príkaz 'git stash apply' nasledovaný id indexu stash na použitie konkrétneho potvrdenia. Používa sa ako:
Syntax:
$ git stash apply
Zvážte nasledujúci výstup:
Výkon:
Ak skrýšu nešpecifikujeme, Git vezme najnovšiu skrýšu a pokúsi sa ju použiť.
Zmeny Git Stash
Môžeme sledovať skrýše a ich zmeny. Ak chcete vidieť zmeny v súbore pred a po operácii ukladania, spustite nasledujúci príkaz:
Syntax:
$ git stash show
Vyššie uvedený príkaz zobrazí súbor, ktorý je uložený, a zmeny v ňom vykonané. Zvážte nasledujúci výstup:
Výkon:
Vyššie uvedený výstup ilustruje, že existujú dva súbory, ktoré sú odložené, a boli do nich vykonané dve vloženia.
Môžeme presne sledovať, aké zmeny sú v súbore vykonané. Ak chcete zobraziť zmenený obsah súboru, vykonajte nasledujúci príkaz:
Syntax:
$ git stash show -p
Tu -p znamená čiastočnú skrýšu. Daný príkaz zobrazí upravené súbory a obsah, zvážte nasledujúci výstup:
Výkon:
zoznam triediť pole
Vyššie uvedený výstup zobrazuje názov súboru so zmeneným obsahom. Funguje rovnako ako príkaz git diff. The git rozdiel príkaz tiež zobrazí presný výstup.
Git Stash Pop (opätovné použitie skrytých zmien)
Git umožňuje používateľovi znovu použiť predchádzajúce odovzdania pomocou príkazu git stash pop. Voľba vyskakovania odstráni zmeny zo skrýše a aplikuje ich na váš pracovný súbor.
Príkaz git stash pop je celkom podobný príkazu git stash apply. Hlavným rozdielom medzi oboma týmito príkazmi je príkaz stash pop, ktorý po použití odstráni skrýšu zo zásobníka.
Syntax:
$ git stash pop
Vyššie uvedený príkaz znova použije predchádzajúce príkazy na úložisko. Zvážte výstup uvedený nižšie.
Výkon:
Git Stash Drop (Unstash)
The git stash drop príkaz sa používa na odstránenie skrýše z frontu. Vo všeobecnosti vymaže najnovšiu skrýšu. Pred použitím príkazu stash drop je potrebné postupovať opatrne, pretože je ťažké ho vrátiť späť, ak ho raz použijete.
Jediný spôsob, ako to vrátiť, je, ak po odstránení skrýše nezatvoríte terminál. Príkaz stash drop sa použije ako:
Syntax:
$ git stash drop
Výkon:
Vo vyššie uvedenom výstupe je najnovšia skrýša (stash@{0}) bol vypustený z daných troch skrýš. Príkaz stash list zobrazí zoznam všetkých dostupných skrýš vo fronte.
Môžeme tiež odstrániť konkrétnu skrýšu z frontu. Ak chcete odstrániť konkrétnu skrýšu z dostupných skrýš, odovzdajte id skrýše do príkazu stash drop. Bude spracované ako:
Syntax:
$ git stash drop
Predpokladajme, že mám vo fronte k dispozícii dve skrýše a nechcem zahodiť svoju najnovšiu skrýšu, ale chcem odstrániť staršiu. Potom bude fungovať takto:
$ git stash drop stash@{1}
Zvážte nasledujúci výstup:
Vo vyššie uvedenom výstupe, commit stash@{1} bol odstránený z poradia.
Git Stash Clear
The git skrýša jasné príkaz umožňuje vymazať všetky dostupné skrýše naraz. Ak chcete odstrániť všetky dostupné skrýše, použite nasledujúci príkaz:
Syntax:
$ git stash clear
odstráni všetky skrýše, ktoré existujú v úložisku.
Výkon:
Vo vyššie uvedenom výstupe sa odstránia všetky skrýše. Príkaz git stash list je prázdny, pretože v archíve nie sú dostupné žiadne skrýše.
Pobočka Git Stash
Ak ste schovali nejakú prácu na konkrétnej vetve a pokračujte v práci na tejto vetve. Potom to môže spôsobiť konflikt počas zlučovania. Preto je dobré ukladať prácu na samostatnú vetvu.
Príkaz git stash branch umožňuje užívateľovi ukladať prácu do samostatnej vetvy, aby sa predišlo konfliktom. Syntax pre túto vetvu je nasledovná:
Syntax:
reťazec prevodníka na dátum
$ git stash branch
Vyššie uvedený príkaz vytvorí novú vetvu a prenesie na ňu uloženú prácu. Zvážte nasledujúci výstup:
Výkon:
Vo vyššie uvedenom výstupe sa odložená práca prenesie do novovytvorenej pobočky testovania. Vyhnete sa tak konfliktu zlučovania na hlavnej vetve.