Git Stash
Ostatnia aktualizacja
git stash odkłada twoje niezatwierdzone zmiany na bok i przywraca katalog roboczy do czystego stanu, dzięki czemu możesz zmienić gałąź albo zrobić pull bez zatwierdzania niedokończonej pracy. Zmiany trafiają na stos, z którego możesz je później przywrócić przez git stash pop (nałożenie i usunięcie) albo git stash apply (nałożenie i zachowanie).
Wypróbuj te polecenia w terminalu online: prawdziwa powłoka w przeglądarce, bez żadnej instalacji.
Składnia
| Polecenie | Co robi |
|---|---|
git stash | Odkłada zmiany w śledzonych plikach, czyści katalog roboczy |
git stash -u | Odkłada także nieśledzone pliki |
git stash push -m "msg" | Stash z opisową wiadomością |
git stash push <file> | Odkłada tylko wskazany plik |
git stash list | Wyświetla wszystkie stashe |
git stash pop | Nakłada ostatni stash i go usuwa |
git stash apply | Nakłada ostatni stash i go zachowuje |
git stash drop | Usuwa ostatni stash |
git stash clear | Usuwa wszystkie stashe |
pop vs apply
| Zachowanie | git stash pop | git stash apply |
|---|---|---|
| Przywraca zmiany | Tak | Tak |
| Usuwa potem stash | Tak | Nie |
| Dobre do ponownego użycia stasha | Nie | Tak |
Najczęstsze pytania o git stash
Co robi git stash?
git stash pop albo git stash apply. Przydaje się, gdy trzeba zmienić gałąź, a praca nie jest jeszcze gotowa do commita.Czym różni się git stash pop od git stash apply?
git stash pop dodatkowo usuwa potem ten stash ze stosu, a git stash apply zostawia go na stosie, żeby można go było nałożyć jeszcze gdzie indziej. Używaj pop do jednorazowego przywrócenia, a apply, gdy chcesz użyć stasha ponownie.Czy git stash obejmuje nieśledzone pliki?
git stash odkłada tylko śledzone (zmienione) pliki. Dodaj -u (git stash -u), żeby uwzględnić nieśledzone pliki, albo -a, żeby dołączyć też pliki ignorowane. Bez tych flag nowe pliki, których nie dodano przez git add, zostają w katalogu roboczym.Jak nałożyć konkretny stash?
git stash list, żeby zobaczyć je ponumerowane jako stash@{0}, stash@{1}, a potem git stash apply stash@{1} (albo pop), żeby przywrócić wybrany. Przy każdym stashu widać też gałąź i wiadomość, z którymi go utworzono, więc łatwo je odróżnić.Czy mogę to przećwiczyć online?
git stash w prawdziwej powłoce w przeglądarce, bez żadnej instalacji. Darmowy interaktywny kurs Git w Coddy też krok po kroku omawia zarządzanie pracą w toku.