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.