logo

Git Stash

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.

Git Stash

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:

    Git skrýš Uložení skrýše Git Seznam skrýší Git Použijte Git stash Změny Git stash Git stash pop Git stash drop Git skrýš čistý Git stash větev

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:

Git Stash

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:

Git Stash

V daném výstupu je práce uložena příkazem git stash. Můžeme zkontrolovat stav úložiště.

Git Stash

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:

Git Stash

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:

Git Stash

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:

Git Stash

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:

Git Stash

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:

Git Stash

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:

Git Stash

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:

Git Stash

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:

Git Stash

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

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
Git Stash

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:

Git Stash

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:

Git Stash

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:

Git Stash

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.