Ako uložiť zmeny v Git


Potrebujete prejsť na inú pobočku, ale nie ste pripravení vykonať zmeny, ktoré ste vykonali vo svojej aktuálnej pobočke? Zmeny môžete uložiť a vrátiť sa k nim neskôr. Je to možné v Git, či už používate GitHub alebo inú hostingovú službu.

Prečo ukladať svoje zmeny?

Uloženie zmien je skvelý spôsob, ako udržať krok s vašou súčasnou prácou bez toho, aby ste ich odovzdali pracovnej vetve. To vám umožní pracovať medzi niekoľkými pobočkami bez toho, aby ste museli vykonávať akékoľvek zmeny.

Existuje niekoľko prípadov, v ktorých možno budete musieť uložiť svoje zmeny. Povedzme napríklad, že pracujete na vetve A. V kóde vetvy B je však závažná chyba, ktorá si vyžaduje vašu okamžitú pozornosť. Ak chcete opraviť chybu, musíte prejsť na vetvu B, ale nie ste pripravení vykonať prácu, ktorú ste robili vo vetve A.

Vďaka git stash môžete uložiť svoje zmeny vo vetve A bez toho, aby ste ich museli stlačiť, prepnúť a opraviť chybu vo vetve B a potom prepnúť späť na vetvu A a pokračovať tam, kde ste prestali.

Ako uložiť zmeny

Zmeny môžete ukryť spustením jednoduchého príkazu. Predtým však môžete spustiť iný príkaz, aby ste presne videli, čo budete ukladať. Vo svojej pracovnej vetve spustite tento príkaz:

git status

Zobrazia sa vám tak po etapách, ako aj neetablované zmeny, ktoré ste vykonali vo vašej pobočke. V našom prípade sme upravili súbor „test.md“. Majte na pamäti, že git stash ukryje etapové aj nezaradené zmeny.

Teraz, keď ste skontrolovali, čo bude uložené, spustite tento príkaz na uloženie zmien:

git stash

Po vykonaní dostanete správu o tom, že vaše zmeny boli uložené na . Vaša pobočka bude teraz vyzerať ako pred vykonaním zmien a teraz môžete bezpečne prejsť na novú pobočku.

Zobraziť skryté zmeny

Ak ste si uložili niekoľko skrýš, možno budete chcieť vidieť zoznam skrýš predtým, ako sa pokúsite jednu získať. Keď si prezeráte zoznam svojich skrýš, poznačte si názov skrýše, ktorú chcete získať, a pokračujte v práci.

V termináli spustite tento príkaz:

git stash list

Potom sa vráti zoznam skrýš. Vo vyššie uvedenom príklade je náš skrýšový názov stash@{0}. Číslo v zložených zátvorkách je index. Ak máte niekoľko skrýš na tej istej pobočke, počet sa bude líšiť.

Ak chcete zobraziť podrobnosti o skrýši, spustite:

git stash show

Môžete tiež spustiť git stash show -p a zobraziť výsledky vo formáte diff.

Načítať skryté zmeny

Keď budete pripravení pokračovať tam, kde ste prestali, budete musieť načítať uložené zmeny. Môžete to urobiť dvoma rôznymi spôsobmi. Jeden príkaz zachová kópiu vašich zmien v skrýši a zároveň ju skopíruje do vašej pracovnej vetvy. Druhý skopíruje všetko do vašej pracovnej pobočky, ale odstráni všetko zo skrýše.

Ak chcete ponechať kópiu svojich zmien v skrýši a tiež ich preniesť do svojej pracovnej pobočky, spustite:

git stash apply

Ak chcete preniesť zmeny do pracovnej vetvy, ale odstrániť kópiu skrýše, spustite:

git stash pop

Ak je na jednej vetve viacero skrýš, jednoducho pridajte názov skrýše na koniec príkazu.

Teraz môžete pokračovať v práci s predchádzajúcimi zmenami. Po vykonaní všetkých potrebných zmien vo vetve a jej zlúčení s hlavnou vetvou nezabudnite vetvu odstrániť, aby ste udržali svoje úložisko čisté!