Ukladanie vám umožňuje uchovávať kópiu zmien, ktoré ste vykonali v úložisku, bez toho, aby ste museli vytvárať potvrdenie.
Je to užitočné, ak prepínate kontexty, najmä ak sa pohybujete tam a späť medzi rôznymi chybami alebo úlohami v rovnakom projekte.
Základná prevádzka git stash
Môžeš použite git stash na uľahčenie pracovného postupu pri práci s paralelnými líniami práce. Predstavte si, že pracujete na dlhotrvajúcej úlohe so zmenami vo vašej miestnej pracovnej kópii. Potom príde niečo naliehavé, na čom musíte hneď zapracovať.
Štandardný pracovný postup pre ukladanie zmien je:
- Vykonajte miestne zmeny
- Uchovajte miestne zmeny
- Znova použiť skryté zmeny
Keď uložíte zmeny pomocou git stash [push] príkaz, git sa resetuje na HEAD. Potom môžete pokračovať v práci na čomkoľvek, čo potrebujete, a zaviazať sa k úložisku, ako keby ste nikdy nevykonali pôvodné zmeny.
Keď skončíte so všetkým, čo vás na prvom mieste sledovalo, použite git stash pop aby ste použili svoje zmeny a odstránili ich z úložiska. Môžete tiež použiť svoje zmeny a ponechať ich v skrýši
použiť git stash. To môže byť užitočné, ak chcete rýchlo aplikovať zmeny na viaceré vetvy.Práca s viac ako jednou skrýšou
Ak ste naozaj zaneprázdnení, možno zistíte, že pracujete na niekoľkých úlohách naraz a možno ich budete musieť všetky ukryť. Nebojte sa, git stash je na to stvorený.
Zakaždým, keď použijete git stash push, uložíte ďalšiu sadu zmien. Použite git zoznam skrýš aby ste ukázali všetko, čo ste si schovali. Uvidíte niečo podobné:
stash@{0}: WIP on main: 2fba62e first commit
stash@{1}: WIP on main: 2fba62e first commit
Tieto správy nie sú veľmi užitočné, ale môžete si nechať nejaké stopy pridaním vlastnej správy, keď si schováte:
git stash push -m "tretí"
Keď teraz uvediete zoznam, uvidíte svoju vlastnú správu:
stash@{0}: Na hlavnej: tretia
stash@{1}: WIP on main: 2fba62e first commit
Zobrazenie rozdielov medzi rozdielmi
Ak chcete zistiť, čo sa v skrýši zmenilo, použite git stash show. Bez ďalších argumentov sa zobrazí súhrn rozdielov pre najnovšiu skrýšu, ktorý vyzerá takto:
$ git stash show
README.md | 3 +++
1 súbor zmenený, 3 vloženia (+)
Môžete tiež zadať skrýšu id, aby ste mohli požiadať o konkrétnu položku:
git stash show stash@{0}
Vytvorenie pobočky zo skrýše
Možno sa rozhodnete, že zmeny v skrýši sú také významné, že si zaslúžia byť vo vlastnej vetve. ak áno, vytvoriť novú pobočku zo skrýše pomocou pobočka príkaz:
git stash vetva
Opäť to bude štandardne fungovať s najnovšou skrýšou, ale v prípade potreby môžete zadať ID úkrytu. Git vytvorí vašu novú vetvu z rovnakého miesta v úložisku ako skrýša. Potom použije zmeny zo skrýše na vašu pracovnú kópiu.
Čistenie skrýše
Neexistuje žiadny príkaz „git unstash“. Ak chcete odstrániť skrýšu, použite drop:
git skrýša pokles
Opäť platí, že predvolená hodnota je najnovšia, ale namiesto toho môžete zadať skrýšu. Ak sa rozhodnete, že sa chcete zbaviť všetkého, čo ste si schovali, použite tento príkaz:
git skrýša jasné
Použite git stash pre dočasné ľahké záväzky
Git skrýše nie sú ani zďaleka také výkonné ako úplné úložiská. Stále však ponúkajú množstvo užitočných funkcií samy osebe. Použite skrýše, ak sa často pristihnete, že potrebujete vymeniť pobočky uprostred práce.
Stashing je len jedna malá časť git, čo je program, ktorý toho ponúka strašne veľa.