Schowek (stash)
Schowek pozwala na zapisanie bieżących zmian w celu późniejszego ich użycia. Jeżeli posiadasz zmiany które nie nadają się jeszcze do "skomitowania" a musisz zacząć pracę nad czymś innym, użyj schowka aby zapisać te zmiany
Dodanie zmodyfikowanych plików do schowka
git stash
Polecenie "git stash":
- dodaje pliki do schowka znajdujące się w stanie "modified" lub "staged", natomiast nie dodaje plików "untracked",
- ustawia HEAD na ostatniej zatwierdzonej zmianie,
- każde polecenie "git stash" tworzy kolejny obiekt w schowku
Wyświetlenie dostępnych obiektów w schowku
git stash list
Nazwy obiektów w schowku!
stash@{x}: ...
x = 0, 1, 2, ... x = 0 dla najnowszego obiektu
Wyświetlenie informacji o zmianach zapisanych w wybranym obiekcie
git stash show stash@{x}
Przywrócenie ostatnio dodanego obiektu ze schowka
git stash apply --index
Uwaga!
Użycie tego polecenia bez parametru --index powoduje, że wszystkie przywrócone zmiany będą znajdowały się w stanie "changed".
Przywrócenie wybranego obiektu ze schowka
git stash apply stash@{x} --index
x - numer obiektu w schowku
Usunięcie wybranego obiektu ze schowka
git stash drop stash@{x}
Uwaga!
Każde usunięcie obiektu z przechowalni powoduję reindeksację obiektów. Innymi słowy po usunięciu obiektu nie powstaje dziura w numeracji obiektów.