logo

Git Stash

Czasami chcesz zmienić gałęzie, ale pracujesz nad niekompletną częścią bieżącego projektu. Nie chcesz angażować się w połowę wykonanej pracy. Git stashing pozwala to zrobić. The polecenie git stash umożliwia przełączanie gałęzi bez zatwierdzania bieżącej gałęzi.

Poniższy rysunek przedstawia właściwości i rolę ukrywania w odniesieniu do repozytorium i katalogu roboczego.

Git Stash

Ogólnie rzecz biorąc, znaczenie skrytki to „ przechowuj coś bezpiecznie w ukrytym miejscu .' Sens w Git jest taki sam także w przypadku skrytki; Git tymczasowo bezpiecznie zapisuje Twoje dane, bez konieczności ich zatwierdzania.

Przechowywanie przejmuje bałagan w katalogu roboczym i tymczasowo zapisuje go do dalszego wykorzystania. Wiele opcji jest dostępnych w git stash. Poniżej podano kilka przydatnych opcji:

    Skrytka Gita Zapisz skrytkę Gita Lista skrytek Gita Zastosuj skrytkę Git Zmiany w skrytce Gita Git skrytka pop Upuszczenie skrytki Git Schowek Git wyczyszczony Oddział skrytki Git

Schowanie pracy

Rozumiemy to za pomocą scenariusza czasu rzeczywistego. Wprowadziłem zmiany w moim projekcie GitExample2 w dwóch plikach z dwóch różnych gałęzi. Mam bałagan i nie edytowałem jeszcze całkowicie żadnego pliku. Chcę więc zapisać go tymczasowo do wykorzystania w przyszłości. Możemy go schować i zapisać jako bieżący stan. Aby ukryć, spójrzmy na bieżący stan repozytorium. Aby sprawdzić aktualny stan repozytorium, uruchom komendę git status. Polecenie git status jest używane jako:

Acore procesu Androida

Składnia:

 $ git status 

Wyjście:

Git Stash

Z powyższych danych wyjściowych można zobaczyć status dwóch nieśledzonych plików projekt.css I nowy plik.txt dostępne w repozytorium. Aby zapisać go tymczasowo, możemy użyć polecenia git stash. Polecenie git stash jest używane jako:

Składnia:

 $ git stash 

Wyjście:

Git Stash

W danym wyniku praca jest zapisywana za pomocą polecenia git stash. Możemy sprawdzić status repozytorium.

Git Stash

Jak widać, moja praca jest po prostu ukryta w bieżącej pozycji. Teraz katalog jest czyszczony. W tym momencie możesz przełączać się między gałęziami i pracować nad nimi.

Git Stash Save (Zapisywanie skrytek z wiadomością):

W Git zmiany można ukryć wraz z komunikatem. Aby ukryć zmianę w wiadomości, uruchom poniższe polecenie:

Składnia:

 $ git stash save '' 

Wyjście:

Git Stash

Powyższa skrytka zostanie zapisana z wiadomością

Lista skrytek Git (sprawdź zapisane skrytki)

Aby sprawdzić przechowywane skrytki, uruchom poniższe polecenie:

Składnia:

 $ git stash list 

Wyjście:

Git Stash

W powyższym przypadku utworzyłem jedną skrytkę, która jest wyświetlana jako „ stash@{0}: WIP w teście: 0a1a475 plik CSS '.

Jeśli mamy więcej niż jedną skrytkę, wyświetli odpowiednio wszystkie skrytki z różnymi identyfikatorami skrytki. Rozważ poniższe dane wyjściowe:

Git Stash

Pokaże wszystkie skrytki z indeksowaniem jako skrytka@{0}: skrytka@{1}: i tak dalej.

Zastosuj Git Stash

Możesz ponownie zastosować właśnie ukryte zmiany, używając polecenia git stash. Aby zastosować zatwierdzenie, użyj polecenia git stash, a następnie opcji Apply. Jest używany jako:

Składnia:

 $ git stash apply 

Wyjście:

Git Stash

Powyższe wyjście przywraca ostatnią skrytkę. Teraz, jeśli sprawdzisz status repozytorium, pokaże zmiany wprowadzone w pliku. Rozważ poniższe wyjście:

Git Stash

Z powyższych danych wynika, że ​​repozytorium zostało przywrócone do poprzedniego stanu sprzed przechowywania. Pokazuje dane wyjściowe jako „ Zmiany nie przygotowane do zatwierdzenia .'

W przypadku więcej niż jednej skrytki możesz użyć polecenia „git stash Apply”, po którym następuje identyfikator indeksu skrytki, aby zastosować określone zatwierdzenie. Jest używany jako:

Składnia:

 $ git stash apply 

Rozważ poniższe dane wyjściowe:

Wyjście:

Git Stash

Jeśli nie określimy skrytki, Git bierze najnowszą skrytkę i próbuje ją zastosować.

nieuporządkowane przechodzenie przez drzewo

Zmiany w Git Stash

Możemy śledzić skrytki i ich zmiany. Aby zobaczyć zmiany w pliku przed i po operacji przechowywania, uruchom poniższe polecenie:

Składnia:

 $ git stash show 

Powyższe polecenie wyświetli ukryty plik i wprowadzone w nim zmiany. Rozważ poniższe dane wyjściowe:

Wyjście:

Git Stash

Powyższe dane wyjściowe ilustrują, że istnieją dwa pliki, które są ukryte i wykonano na nich dwa wstawienia.

Możemy dokładnie prześledzić, jakie zmiany zostały wprowadzone w pliku. Aby wyświetlić zmienioną zawartość pliku wykonaj poniższe polecenie:

Składnia:

 $ git stash show -p 

Tutaj -p oznacza częściową skrytkę. Podane polecenie wyświetli edytowane pliki i zawartość, rozważ poniższe dane wyjściowe:

Wyjście:

Git Stash

Powyższe dane wyjściowe pokazują nazwę pliku ze zmienioną zawartością. Działa tak samo jak polecenie git diff. The git różnica polecenie pokaże również dokładne dane wyjściowe.

Git Stash Pop (ponowne zastosowanie ukrytych zmian)

Git pozwala użytkownikowi ponownie zastosować poprzednie zatwierdzenia za pomocą polecenia git stash pop. Opcja otwierania usuwa zmiany ze skrytki i stosuje je do pliku roboczego.

Polecenie git stash pop jest dość podobne do polecenia git stash Apply. Główną różnicą między obydwoma poleceniami jest polecenie stash pop, które usuwa skrytkę ze stosu po jej zastosowaniu.

Składnia:

 $ git stash pop 

Powyższe polecenie ponownie zastosuje poprzednie zatwierdzenia w repozytorium. Rozważ poniższe dane wyjściowe.

Wyjście:

Nowa linia Pythona
Git Stash

Git Stash Drop (Unstash)

The git upuść skrytkę polecenie służy do usunięcia skrytki z kolejki. Zwykle usuwa najnowszą skrytkę. Należy zachować ostrożność przed użyciem polecenia upuszczenia skrytki, ponieważ raz zastosowane jest trudne do cofnięcia.

Jedynym sposobem na przywrócenie tego jest nie zamknięcie terminala po usunięciu skrytki. Polecenie upuszczenia skrytki zostanie użyte jako:

Składnia:

 $ git stash drop 

Wyjście:

Git Stash

W powyższym wyjściu najnowsza skrytka (skrytka@{0}) został usunięty z trzech skrytek. Polecenie stash list wyświetla listę wszystkich dostępnych skrytek w kolejce.

Możemy także usunąć konkretny schowek z kolejki. Aby usunąć konkretną skrytkę z dostępnych skrytek, podaj identyfikator skrytki w poleceniu upuszczenia skrytki. Będzie przetwarzane jako:

Składnia:

Algebra relacyjna w rdbms
 $ git stash drop 

Załóżmy, że w kolejce mam dostępne dwie skrytki i nie chcę porzucić ostatniej skrytki, ale chcę usunąć starszą. Wtedy będzie funkcjonował następująco:

 $ git stash drop stash@{1} 

Rozważ poniższe dane wyjściowe:

Git Stash

W powyższych wynikach zatwierdzenie skrytka@{1} został usunięty z kolejki.

Git Stash Wyczyść

The git, wyczyść skrytkę polecenie pozwala na jednoczesne usunięcie wszystkich dostępnych skrytek. Aby usunąć wszystkie dostępne skrytki, wykonaj poniższe polecenie:

Składnia:

 $ git stash clear 

usunie wszystkie skrytki istniejące w repozytorium.

Wyjście:

Git Stash

Wszystkie skrytki zostaną usunięte w powyższym wyniku. Polecenie git stash list jest puste, ponieważ w repozytorium nie ma dostępnych skrytek.

Oddział Git Stash

Jeśli ukryłeś trochę pracy w konkretnej gałęzi i kontynuujesz pracę w tej gałęzi. Może to wówczas spowodować konflikt podczas łączenia. Dlatego dobrze jest przechowywać pracę w osobnej gałęzi.

Polecenie git stash Branch pozwala użytkownikowi przechowywać pracę w osobnej gałęzi, aby uniknąć konfliktów. Składnia tej gałęzi jest następująca:

Składnia:

 $ git stash branch 

Powyższe polecenie utworzy nową gałąź i przeniesie do niej ukrytą pracę. Rozważ poniższe dane wyjściowe:

Wyjście:

Git Stash

W powyższym wyniku ukryta praca jest przenoszona do nowo utworzonej gałęzi testowej. Pozwoli to uniknąć konfliktu scalania w gałęzi głównej.