Předpoklady: Git
Git umožňuje více uživatelům pracovat na stejném projektu současně. Předpokládejme, že vývojář pracuje na funkci ve větvi a potřebuje stáhnout změny z jiné vývojářské větve nebo pokud musí naléhavě pracovat na nějaké jiné funkci, ale funkce, na které právě pracuje, není kompletní. V tomto případě nemůžete odevzdat částečný kód aktuálně fungující funkce. Chcete-li přidat tuto novou funkci, musíte odstranit aktuální změny a uložit je někde jinde. Pro tento typ situace nabízí Git velmi užitečný příkaz známý jako „ git skrýš '. git skrýš příkaz uloží dříve napsaný kód a poté se vrátí k poslednímu odevzdání pro nový začátek. Nyní můžete přidat novou funkci, aniž byste narušili starou, protože je uložena lokálně. Po nasazení nové funkce můžete pokračovat v práci na staré funkci, která byla neúplná a nezavázaná.
Git stash vs Git Commit
Existují dva alternativní způsoby, jak uložit změny do úložiště git: stash a commit.
Git skrýš: K tomu lze použít příkaz Git stash, pokud vývojář pracuje na projektu a chce zachovat změny, aniž by je potvrzoval. To mu umožní přepínat větve a pracovat na jiných projektech, aniž by to ovlivnilo stávající úpravy. Úpravy můžete vrátit zpět, kdykoli je to nutné, a uloží aktuální stav a vrátí vývojáře do předchozího stavu.
Git commit: Vývojáři si přejí trvale ukládat své změny ve zdrojovém kódu do historie úložiště. The git commit k tomu lze použít příkaz. Git vytvoří nové potvrzení, které zdokumentuje vaše úpravy a přidá je do historie úložiště.
Abych to shrnul. Git odevzdává trvalé uložení změn do historie úložiště, zatímco Git stash se používá k vytvoření zálohy souborů, na kterých pracujeme, ale ještě nejsou připraveny k potvrzení.
Git Stash vs Git Reset
Oba příkazy lze kombinovat pro správu změn v úložišti Git a mají různé případy použití.
Git reset a Git stash Pomocí těchto dvou příkazů můžeme obnovit všechny dříve smazané a zálohované soubory do aktuálního pracovního adresáře. Tyto dva primární rozdíly jsou následující:
| Git Stash | Git Reset |
|---|---|
| Git stash se používá k uložení souborů, které byly upraveny a nejsou připraveny k odevzdání. | Git reset může změny úplně vrátit zpět a změní ukazatel větve na nový odevzdání |
| Vývojáři mohou přepínat větve a pracovat na jiných úkolech, aniž by to ovlivnilo aktuální změny. | Změny, které již byly provedeny, jsou resetováním Git zahozeny. |
Git Stash vs Git Stage
Staging se používá k přípravě změn pro následné odevzdání, zatímco Git stash se používá k vytvoření zálohy souborů, které byly upraveny, ale ještě nejsou připraveny k odevzdání. Oba příkazy lze kombinovat pro správu změn v úložišti Git a mají různé případy použití.
| Git Stash | Git Stage |
|---|---|
| Git stash se používá k zálohování souborů | Soubory se přidávají do indexu git pomocí fáze git. |
| Git stash se používá, pokud potřebujete přepnout na jinou úlohu nebo větev při práci na funkci nebo opravě chyby. | Úpravy fází Git je třeba zahrnout do následného odevzdání, když použijete příkaz git add. |
Která složka ukládá historii Git Stash?
Když použijeme git stash, data budou uložena ve formě stashes v našem místním úložišti. Ve výchozím nastavení budou data uložena v souboru git/refs/stash. V tomto souboru jsou uloženy všechny reference a skutečná data jsou uložena v adresáři .git/objects, stejně jako ostatní objekty Git .
java lambda výrazy
Níže uvedený příkaz se používá k vypsání všech skrýší, které byly vytvořeny.
git stash list>
Jak uložíte změny v Gitu?
Chcete-li uložit nepotvrzené změny pro pozdější použití, můžete použít 'git stash' příkaz. Tento příkaz uloží vaše lokální úpravy a vrátí pracovní adresář tak, aby odpovídal potvrzení HEAD, takže vám poskytne čistý pracovní adresář.
Zde jsou některé důležité možnosti, které se nejčastěji používají:
- Git stash Git stash uložit Git stash seznam Git stash použít Git stash změny Git stash pop Git stash drop Git stash clear Git stash větev
Uložení vaší práce (Git Stash)
git stash>
Ve výchozím nastavení běží git skrýš uloží změny, které byly přidány do vašeho indexu (postupné změny) a změny provedené v souborech, které jsou aktuálně sledovány systémem Git (neprovedené změny). Chcete-li uložit své nesledované soubory, použijte git skrýš -u .
Správa více úložišť (Git Stash List)
Můžete vytvořit více úložišť a zobrazit je pomocí „git stash list“ příkaz. Každá skrýš je uvedena se svým názvem (např. skrýš@{1} ), název větve, která byla aktuální, když byl záznam vytvořen, a krátký popis odevzdání, na kterém byl záznam založen.
git stash list>
Abychom poskytli skrýši více kontextu, vytvoříme skrýš pomocí následujícího příkazu:
git stash save 'message'>
Co jsou aplikace Git Stash a POP (použití Git Stash a POP)
Dříve uložené změny můžete znovu použít pomocí „git stash pop“ nebo 'git stash použít' příkazy. Jediný rozdíl mezi oběma příkazy je v tom „git stash pop“ odstraní změny z úložiště a znovu použije změny v pracovní kopii while 'git stash použít' pouze znovu použije změny v pracovní kopii, aniž by je odstranil z úložiště. jednoduchými slovy, pop odstraní stav ze seznamu úkrytů while aplikovat neodstraní stav ze seznamu úkrytů. Pomocí následujícího příkazu můžeme uložené změny znovu použít. Nejaktuálnější úložiště bude použito v našem pracovním adresáři a bude také převzato ze seznamu úkrytů.
git stash pop>
git stash apply>
Ve výchozím stavu „git stash pop“ nebo 'git stash použít' znovu použije poslední vytvořenou skrýš: stash@{0} Chcete-li vybrat, kterou skrýš použít, můžete předat identifikátor jako poslední argument ( Pro např. :- git stash pop stash@{2}).
Git Stash Show
git stash show příkaz se používá k zobrazení souhrnu operací provedených na skrýši.
git stash show>
Vytvoření pobočky z vaší skrýše (Git Stash Branch)
Pokud chcete vytvořit a zkontrolovat novou větev počínaje odevzdáním, ve kterém byla skrýš původně vytvořena, a aplikovat změny uložené v skrýši, použijte ‘git stash větev název_větve‘ . Zahodí skrýš, která je uvedena jako argument, a pokud není dána skrýš, zahodí nejnovější.
git stash branch newbranch stash@{0}>
Vyčištění skrýše (Git Stash Clear)
Chcete-li odstranit jakoukoli konkrétní skrýš ( Například: – stash@{1}), použijte ‘git stash drop stash@{1}’ . Ve výchozím nastavení tento příkaz zmizí skrýš@{0} pokud není uveden žádný argument ( git stash drop ). Chcete-li odstranit všechny skrýše najednou, použijte 'git stash clear' příkaz.
Příkaz git stash nám umožňuje ponechat nepotvrzené úpravy, abychom je mohli použít podle potřeby v budoucnu. Když použijeme příkaz git stash, soubory se automaticky zálohují. To nám umožňuje přepínat větve, provádět naše domácí práce a pak snadno získat soubory zpět, když jsme připraveni na nich znovu pracovat.
Ukládání nesledovaných nebo ignorovaných souborů
Můžeme použít příkaz git stash k uložení souborů, které jsou nesledované nebo ignorované. Pomocí následujících kroků můžeme naše soubory schovat:
Krok 1: Uložte změny pomocí níže uvedeného příkazu.
git stash save --include-untracked>
–include-untracked tímto schová také všechny nesledované soubory.
Krok 2: Ověřte skrýš:
Pomocí níže uvedeného příkazu potvrďte, že skrýš byla vytvořena:
git stash list>
Krok 3: Pomocí následujícího příkazu můžeme vrátit zpět a použít skrýš.
git stash apply stash@{0}> Krok 4: Po dokončení přivedení skrýše zpět, pokud je nežádoucí, můžeme skrýš odstranit pomocí následujícího příkazu.
git stash drop stash@{0}> Doporučené postupy Git Stash
Zde je několik osvědčených postupů pro použití Git skrýš příkaz.
- Nepoužívejte nadměrně git stash: Git stash je třeba používat umírněně, kdykoli je velmi důležité pracovat na jiné úloze, pak bychom měli používat pouze git stash, ovlivní změny, které je třeba provést při odevzdání.
- Vyhněte se zbytečným zprávám: Pomocí git stash můžete přidat zprávu popisující změny, které schováváte. Udělejte zprávu smysluplnou. Když si později budete potřebovat zapamatovat, co je v skrýši, bude se to hodit. Používejte prohlášení, která jsou informativní a evokující a která přesně odrážejí skryté změny.
- Zaměstnávejte pobočky: Stashing je užitečný nástroj při práci s větvemi Git. Před uložením změn vytvořte novou větev, abyste mohli přepínat na různé úlohy nebo větve, aniž by to ovlivnilo vaše aktuální změny. Vraťte se zpět do větve a použijte skrýš, až budete připraveni znovu pracovat na úpravách.
- Změny by měly být provedeny co nejrychleji: skladování by mělo být používáno pouze jako dočasné řešení. Jakmile dokončíte provádění sady změn, měli byste je odeslat do úložiště, aby se zachoval záznam o změnách.