Stashing vám umožňuje uchovávat kopii změn, které jste provedli v úložišti, aniž byste museli vytvářet potvrzení.
Je to užitečné, pokud přepínáte kontexty, zejména pokud přecházíte tam a zpět mezi různými chybami nebo úkoly ve stejném projektu.
Základní operace git stash
Můžeš použijte git stash pro usnadnění vašeho pracovního postupu při práci s paralelními liniemi práce. Představte si, že pracujete na dlouhodobém úkolu se změnami ve vaší místní pracovní kopii. Pak přijde něco naléhavého, na čem musíte hned zapracovat.
Standardní pracovní postup pro ukládání změn je:
- Proveďte místní změny
- Uložte místní změny
- Znovu použít skryté změny
Když uložíte změny pomocí git stash [push] git se resetuje na HEAD. Poté můžete pokračovat v práci na čemkoli, co potřebujete, a zavázat se k úložišti, jako byste nikdy neprovedli původní změny.
Jakmile skončíte s tím, co vás na prvním místě sledovalo, použijte git stash pop aplikujte změny a odstraňte je z úložiště. Můžete také použít své změny a ponechat je ve schránce
použít git stash. To může být užitečné, pokud chcete rychle aplikovat změny na více větví.Práce s více než jednou skrýší
Pokud jste opravdu zaneprázdněni, můžete zjistit, že pracujete na několika úkolech najednou a možná je budete muset všechny schovat. Nebojte se, git stash je na to stvořen.
Pokaždé, když použijete git stash push, uložíte další sadu změn. Použití git stash seznam ukázat vše, co jste schovali. Uvidíte něco podobného:
stash@{0}: WIP na main: 2fba62e první potvrzení
stash@{1}: WIP na main: 2fba62e první potvrzení
Tyto zprávy nejsou příliš užitečné, ale můžete si nechat několik vodítek přidáním vlastní zprávy, když schováte:
git stash push -m "třetí"
Když nyní zapíšete seznam, uvidíte svou vlastní zprávu:
stash@{0}: Na hlavní: třetí
stash@{1}: WIP na main: 2fba62e první potvrzení
Zobrazení rozdílů mezi rozdíly
Chcete-li zjistit, co se v skrýši změnilo, použijte git stash show. Bez dalších argumentů zobrazí souhrn rozdílů pro nejnovější skrýš, který vypadá takto:
$ git stash show
README.md | 3 +++
1 soubor změněn, 3 vložení (+)
Pro dotaz na konkrétní položku můžete také předat skryté ID:
git stash zobrazit stash@{0}
Vytvoření pobočky ze skrýše
Možná se rozhodnete, že změny v skrýši jsou tak významné, že si zaslouží být ve své vlastní větvi. pokud ano, vytvořit novou větev ze skrýše pomocí větev příkaz:
git stash větev
Opět to bude ve výchozím nastavení fungovat na nejnovější skrýši, ale v případě potřeby můžete zadat ID skrýše. Git vytvoří vaši novou větev ze stejného místa v úložišti jako skrýš. Poté aplikuje změny ze skrýše na vaši pracovní kopii.
Čištění skrýše
Neexistuje žádný příkaz „git unstash“. Pokud chcete odstranit skrýš, použijte drop:
git skrýš pokles
Opět platí, že toto výchozí nastavení je nejnovější, ale místo toho můžete zadat skrýš. Pokud se rozhodnete, že se chcete zbavit všeho, co jste schovali, použijte tento příkaz:
git skrýš vyčistit
Použijte git stash pro dočasné lehké závazky
Git stashes nejsou zdaleka tak výkonné jako plné repozitáře. Stále však samy o sobě nabízejí spoustu užitečných funkcí. Pokud se často přistihnete, že potřebujete vyměnit pobočky uprostřed práce, použijte skrýše.
Stashing je jen jedna malá část git, což je program, který toho nabízí strašně moc.