Někdy chcete přepnout větve, ale pracujete na neúplné části svého aktuálního projektu. Nechcete se zavázat k napůl hotové práci. Git stashing vám to umožňuje. The příkaz git stash umožňuje přepínat větve bez potvrzení aktuální větve.
Níže uvedený obrázek ukazuje vlastnosti a roli stashingu týkající se úložiště a pracovního adresáře.
Obecně platí, že význam skrýše je „ něco bezpečně uložit na skryté místo .' Smysl v Gitu je stejný pro skrýš; Git dočasně ukládá vaše data bezpečně, aniž by se zavazoval.
Stashing převezme chaotický stav vašeho pracovního adresáře a dočasně jej uloží pro další použití. S git stash je k dispozici mnoho možností. Některé užitečné možnosti jsou uvedeny níže:
Skladovací práce
Pojďme to pochopit pomocí scénáře v reálném čase. Provedl jsem změny v mém projektu GitExample2 ve dvou souborech ze dvou odlišných větví. Jsem v chaotickém stavu a ještě jsem úplně neupravil žádný soubor. Takže si to chci dočasně uložit pro budoucí použití. Můžeme jej schovat a uložit jako jeho aktuální stav. Abychom to ukryli, podívejme se na aktuální stav úložiště. Chcete-li zkontrolovat aktuální stav úložiště, spusťte příkaz git status. Příkaz git status se používá jako:
číslo palindromu
Syntax:
$ git status
Výstup:
Z výše uvedeného výstupu můžete vidět stav, že existují dva nesledované soubory design.css a nový soubor.txt k dispozici v úložišti. K dočasnému uložení můžeme použít příkaz git stash. Příkaz git stash se používá jako:
Syntax:
$ git stash
Výstup:
V daném výstupu je práce uložena příkazem git stash. Můžeme zkontrolovat stav úložiště.
Jak vidíte, moje práce je jen schovaná ve své současné poloze. Nyní je adresář vyčištěn. V tomto okamžiku můžete přepínat mezi větvemi a pracovat na nich.
Git Stash Save (Ukládání skrýší se zprávou):
V Gitu lze změny skrýt se zprávou. Chcete-li uložit změnu pomocí zprávy, spusťte níže uvedený příkaz:
Syntax:
$ git stash save ''
Výstup:
Výše uvedená skrýš bude uložena se zprávou
Git Stash List (Zkontrolujte uložené skrýše)
Chcete-li zkontrolovat uložené skrýše, spusťte níže uvedený příkaz:
Syntax:
$ git stash list
Výstup:
Ve výše uvedeném případě jsem vytvořil jednu skrýš, která se zobrazuje jako „ stash@{0}: WIP na test: soubor CSS 0a1a475 '.
Pokud máme více než jednu skrýš, zobrazí se všechny skrýše, respektive s různým ID skrýše. Zvažte následující výstup:
Zobrazí všechny skrýše s indexováním jako skrýš@{0}: skrýš@{1}: a tak dále.
Použít Git Stash
Změny, které jste právě uložili, můžete znovu použít pomocí příkazu git stash. Chcete-li použít odevzdání, použijte příkaz git stash následovaný volbou použít. Používá se jako:
eol v pythonu
Syntax:
$ git stash apply
Výstup:
Výše uvedený výstup obnoví poslední skrýš. Pokud nyní zkontrolujete stav úložiště, zobrazí se změny provedené v souboru. Zvažte níže uvedené výstup:
Z výše uvedeného výstupu můžete vidět, že úložiště je obnoveno do předchozího stavu před uložením. Zobrazuje výstup jako „ Změny nebyly připraveny pro potvrzení .'
V případě více než jedné skrýše můžete použít příkaz 'git stash apply' následovaný id indexu stash pro použití konkrétního potvrzení. Používá se jako:
Syntax:
$ git stash apply
Zvažte následující výstup:
Výstup:
Pokud skrýš neurčíme, Git vezme nejnovější skrýš a pokusí se ji použít.
Změny Git Stash
Můžeme sledovat skrýše a jejich změny. Chcete-li zobrazit změny v souboru před a po operaci schování, spusťte níže uvedený příkaz:
Syntax:
$ git stash show
Výše uvedený příkaz zobrazí soubor, který je uložen, a změny v něm provedené. Zvažte následující výstup:
Výstup:
Výše uvedený výstup ukazuje, že existují dva soubory, které jsou schované, a jsou v nich provedeny dvě vložení.
Můžeme přesně sledovat, jaké změny jsou v souboru provedeny. Chcete-li zobrazit změněný obsah souboru, proveďte následující příkaz:
Syntax:
$ git stash show -p
Zde -p znamená částečnou skrýš. Daný příkaz zobrazí upravené soubory a obsah, zvažte následující výstup:
Výstup:
Výše uvedený výstup zobrazuje název souboru se změněným obsahem. Funguje stejně jako příkaz git diff. The git rozdíl příkaz také zobrazí přesný výstup.
Git Stash Pop (Opětovné použití skrytých změn)
Git umožňuje uživateli znovu použít předchozí odevzdání pomocí příkazu git stash pop. Volba vyskakování odstraní změny ze skrýše a aplikuje je na váš pracovní soubor.
Příkaz git stash pop je docela podobný příkazu git stash apply. Hlavním rozdílem mezi oběma těmito příkazy je příkaz stash pop, který po použití odstraní stash ze zásobníku.
Syntax:
$ git stash pop
Výše uvedený příkaz znovu použije předchozí odevzdání do úložiště. Zvažte níže uvedený výstup.
Výstup:
Git Stash Drop (Unstash)
The git stash drop příkaz se používá k odstranění skrýše z fronty. Obecně smaže nejnovější skrýš. Před použitím příkazu stash drop byste měli být opatrní, protože je obtížné jej vrátit zpět, pokud je jednou použit.
Jediný způsob, jak to vrátit, je, pokud po smazání skrýše nezavřete terminál. Příkaz stash drop bude použit jako:
Syntax:
$ git stash drop
Výstup:
linux $home
Ve výše uvedeném výstupu nejnovější skrýš (stash@{0}) byl vynechán z daných tří skrýší. Příkaz stash list uvádí seznam všech dostupných úložišť ve frontě.
Můžeme také odstranit konkrétní skrýš z fronty. Chcete-li odstranit konkrétní skrýš z dostupných úložišť, předejte id úkrytu v příkazu stash drop. Bude zpracováno takto:
Syntax:
$ git stash drop
Předpokládejme, že mám ve frontě k dispozici dvě skrýše a nechci zahodit svou nejnovější skrýš, ale chci smazat tu starší. Poté bude provozován takto:
$ git stash drop stash@{1}
Zvažte následující výstup:
Ve výše uvedeném výstupu je commit skrýš@{1} byl smazán z fronty.
Git Stash Clear
The git skrýš vyčistit příkaz umožňuje odstranit všechny dostupné skrýše najednou. Chcete-li odstranit všechny dostupné skrýše, použijte následující příkaz:
středové tlačítko css
Syntax:
$ git stash clear
odstraní všechny skrýše, které existují v úložišti.
Výstup:
Ve výše uvedeném výstupu jsou odstraněny všechny skrýše. Příkaz git stash list je prázdný, protože v úložišti nejsou k dispozici žádné skrýše.
Git Stash Branch
Pokud jste schovali nějakou práci na konkrétní větvi a pokračujte v práci na této větvi. Pak může při slučování dojít ke konfliktu. Je tedy dobré schovat práci na samostatnou větev.
Příkaz git stash branch umožňuje uživateli uložit práci do samostatné větve, aby se předešlo konfliktům. Syntaxe této větve je následující:
Syntax:
$ git stash branch
Výše uvedený příkaz vytvoří novou větev a přenese na ni schovanou práci. Zvažte následující výstup:
Výstup:
Ve výše uvedeném výstupu je uložená práce přenesena do nově vytvořené pobočky testování. Vyhnete se tak konfliktu sloučení na hlavní větvi.