Stashing pozwala zachować kopię zmian wprowadzonych w repozytorium bez konieczności tworzenia zatwierdzenia.
Jest to przydatne, jeśli zmieniasz konteksty, zwłaszcza jeśli przechodzisz między różnymi błędami lub zadaniami w tym samym projekcie.
Podstawowa obsługa git stash
Możesz użyj git stash, aby ułatwić sobie pracę gdy mamy do czynienia z równoległymi liniami pracy. Wyobraź sobie, że pracujesz nad długotrwałym zadaniem ze zmianami w lokalnej kopii roboczej. Wtedy pojawia się coś pilnego, nad czym musisz od razu popracować.
Standardowy przepływ pracy dotyczący przechowywania zmian to:
- Wprowadź lokalne zmiany
- Ukryj lokalne zmiany
- Zastosuj ponownie ukryte zmiany
Kiedy przechowujesz zmiany za pomocą git schowek [push] polecenie, git resetuje się do HEAD. Następnie możesz kontynuować pracę nad wszystkim, czego potrzebujesz, zobowiązując się do repozytorium tak, jakbyś nigdy nie wprowadzał oryginalnych zmian.
Gdy skończysz z tym, co Cię odepchnęło w pierwszej kolejności, użyj git skrytka pop
aby zastosować zmiany i usunąć je ze schowka. Możesz także zastosować swoje zmiany i przechowywać je w schowku za pomocą git stash zastosuj. Może to być przydatne, jeśli chcesz szybko zastosować zmiany do wielu gałęzi.Praca z więcej niż jednym schowkiem
Jeśli jesteś naprawdę zajęty, możesz pracować nad kilkoma zadaniami naraz i być może będziesz musiał je wszystkie schować. Nie martw się, git stash jest do tego stworzony.
Za każdym razem, gdy używasz git stash push, zapisujesz kolejny zestaw zmian. Posługiwać się lista skrytek git aby pokazać wszystko, co schowałeś. Zobaczysz coś podobnego do tego:
stash@{0}: WIP na głównym: 2fba62e pierwsze zatwierdzenie
stash@{1}: WIP na głównym: 2fba62e pierwsze zatwierdzenie
Te wiadomości nie są zbyt przydatne, ale możesz zostawić kilka wskazówek dla siebie, dodając niestandardową wiadomość, gdy przechowujesz:
git stash push -m „trzeci”
Gdy wystawiasz aukcję teraz, zobaczysz swoją niestandardową wiadomość:
schowek@{0}: Na głównym: trzeci
stash@{1}: WIP na głównym: 2fba62e pierwsze zatwierdzenie
Pokazywanie różnic między różnicami
Aby dowiedzieć się, co zmieniło się w skrytce, użyj Git Stash Show. Bez dalszych argumentów pokaże podsumowanie różnic dla ostatniego skrytki, które wygląda tak:
$ git skrytka pokaż
README.md | 3 +++
Zmieniono 1 plik, 3 wstawki (+)
Możesz również przekazać identyfikator skrytki, aby zapytać o konkretny wpis:
git schowek pokaż schowek@{0}
Tworzenie oddziału ze skrytki
Możesz uznać, że zmiany w skrytce są tak znaczące, że zasługują na to, by znajdować się we własnej filii. W takim razie, utwórz nowy oddział ze skrytki za pomocą oddział Komenda:
git stash branch
Ponownie, domyślnie będzie to działać na najnowszej skrytce, ale w razie potrzeby możesz podać identyfikator skrytki. Git tworzy twoją nową gałąź z tego samego miejsca w repozytorium, co skrytka. Następnie stosuje zmiany ze skrytki do kopii roboczej.
Sprzątanie schowka
Nie ma polecenia „git unstash”. Jeśli chcesz usunąć wpis ze skrytki, użyj upuść:
git schowek upuszczać
Ponownie, domyślnie jest to najnowszy, ale zamiast tego możesz podać identyfikator skrytki. Jeśli zdecydujesz, że chcesz pozbyć się wszystkiego, co schowałeś, użyj tego polecenia:
git skrytka wyczyść
Użyj git stash do tymczasowych lekkich zobowiązań
Skrytki Git nie są tak potężne, jak pełne repozytoria. Ale nadal oferują wiele przydatnych funkcji same w sobie. Używaj skrytek, jeśli często musisz zmieniać gałęzie w trakcie pracy.
Ukrywanie to tylko jedna mała część git, który jest programem mającym wiele do zaoferowania.