Polecenie git stash: Jak tymczasowo przechować zmiany w Git
W pracy z Gitem czasami zdarza się, że musimy przerwać naszą obecną pracę nad projektem, aby zająć się czymś innym, ale nie chcemy tracić wprowadzonych zmian. Właśnie w takich momentach z pomocą przychodzi jedno z najbardziej użytecznych poleceń w Gicie – git stash. Jest to narzędzie, które pozwala na tymczasowe przechowanie naszych zmian, abyśmy mogli wrócić do nich później, nie ingerując w naszą główną gałąź roboczą. Jeśli jesteś początkującym użytkownikiem Gita, to git stash może wydawać się skomplikowane, ale w tym artykule krok po kroku pokażę Ci, jak używać tego polecenia, a także zaprezentuję kilka przykładów, które ułatwią Ci pracę. Gotowy? Zaczynamy!
Co to jest git stash?
Polecenie git stash jest używane w Git, aby tymczasowo zapisać (przechować) zmiany, które nie zostały jeszcze zatwierdzone (commitowane), w specjalnym „schowku”. Dzięki temu możesz wrócić do czystego stanu swojego repozytorium, bez obawy, że stracisz aktualnie wprowadzone zmiany. Jest to bardzo przydatne, gdy np. chcesz przełączyć się na inną gałąź, ale nie chcesz jeszcze dokonywać commitu lub gdy musisz wykonać jakąś pilną poprawkę, ale nie chcesz tracić niedokończonej pracy.
W skrócie: git stash pozwala Ci na „schowanie” zmian, abyś mógł wrócić do nich później, kiedy już będziesz gotowy na ich zatwierdzenie. Możesz przechować zmiany w plikach śledzonych oraz nierozśledzonych, a także łatwo przywrócić je do swojej bieżącej pracy.
Jak używać polecenia git stash?
Podstawowe polecenie git stash działa w bardzo prosty sposób:
git stash
Po jego wykonaniu, wszystkie zmiany, które nie zostały zapisane (np. nowe pliki lub zmodyfikowane pliki), zostaną zapisane w specjalnym schowku, a Ty wrócisz do czystego stanu roboczego w swoim repozytorium.
Aby przywrócić te zmiany, używamy polecenia git stash apply:
git stash apply
To polecenie przywróci najnowszy schowany stan. Jeśli jednak masz kilka schowanych stanów, możesz przywrócić konkretny stan, podając numer stosu, np. git stash apply stash@{2}, gdzie „2” to numer stosu, który chcesz przywrócić.
Polecenia git stash w praktyce
Teraz, gdy rozumiesz, czym jest git stash, warto przyjrzeć się kilku przykładom, które pomogą Ci lepiej zrozumieć, jak wykorzystać to polecenie w codziennej pracy.
1. Podstawowe użycie git stash
Załóżmy, że pracujesz nad jakąś funkcjonalnością w projekcie, ale musisz nagle przełączyć się na inną gałąź, by naprawić pilny błąd. Nie chcesz jeszcze robić commitu, ponieważ praca nad funkcjonalnością nie jest ukończona. W takim przypadku używasz polecenia git stash:
git stash
Po wykonaniu tego polecenia zmiany zostaną zapisane, a Ty będziesz mógł przełączyć się na inną gałąź, nie martwiąc się o niezapisane zmiany.
2. Przechowywanie zmian w nowym staszu
Możesz także dodać wiadomość opisującą, co dokładnie schowałeś, co może być pomocne, gdy masz wiele schowanych stanów. Aby to zrobić, użyj polecenia:
git stash save "Opis zmian"
Po zapisaniu zmian z wiadomością, możesz łatwo odnaleźć, do jakiego zadania lub funkcjonalności te zmiany się odnoszą, co może pomóc w późniejszym zarządzaniu stashem.
3. Wyświetlanie zapisanych stashów
Jeśli chcesz zobaczyć, jakie stany masz zapisane w schowku, użyj polecenia:
git stash list
To polecenie wyświetli listę wszystkich zapisanych stanów, z numerem stosu oraz opisem, jeśli taki został podany. Możesz w ten sposób sprawdzić, co dokładnie masz w schowku przed przywróceniem konkretnego stanu.
4. Przywracanie zmian z konkretnego stasha
Jeśli chcesz przywrócić konkretny stan z listy zapisanych stashów, użyj polecenia:
git stash apply stash@{numer}
Na przykład, jeśli chcesz przywrócić trzeci stan na liście, używasz:
git stash apply stash@{2}
To przywróci zmiany, które zostały zapisane jako „stash@{2}” na liście.
5. Usuwanie stasha po przywróceniu zmian
Po przywróceniu zmian z schowka, możesz chcieć usunąć ten stan ze stosu, aby nie zaśmiecać swojego repozytorium. Aby to zrobić, użyj polecenia:
git stash drop stash@{numer}
Na przykład, aby usunąć stan zapisany jako „stash@{2}”, używasz:
git stash drop stash@{2}
Możesz także użyć polecenia git stash clear, aby usunąć wszystkie zapisane stany naraz, jeśli nie są Ci już potrzebne.
Przykład pełnego workflow z git stash
Przykładowy workflow, w którym wykorzystasz git stash, może wyglądać następująco:
- Rozpoczynasz pracę nad nową funkcjonalnością, ale musisz pilnie naprawić błąd na innej gałęzi.
- Używasz polecenia
git stash, aby tymczasowo przechować swoje zmiany i wracasz do czystego stanu. - Przełączasz się na gałąź z błędem, naprawiasz go i wykonujesz commit.
- Po zakończeniu pracy nad błędem, wracasz na pierwotną gałąź i przywracasz swoje zmiany za pomocą
git stash apply. - Po zakończeniu pracy nad funkcjonalnością, robisz commit i czyszczysz stash, używając
git stash clear.
W ten sposób, dzięki git stash, możesz sprawnie przechowywać zmiany i wracać do nich w odpowiednim momencie, nie tracąc czasu ani danych!
Podsumowanie
Polecenie git stash to niesamowicie pomocne narzędzie, które pozwala na tymczasowe przechowywanie zmian w Gicie, gdy potrzebujesz przerwać pracę nad projektem. Dzięki temu możesz łatwo przełączać się między gałęziami, wykonywać inne zadania, a następnie wrócić do poprzednich zmian, nie martwiąc się o ich utratę. Warto znać wszystkie podstawowe polecenia związane z git stash, aby móc w pełni wykorzystać potencjał tego narzędzia w codziennej pracy z Gitem.

Komentarze (0) - Nikt jeszcze nie komentował - bądź pierwszy!