Mam 2 oddziały: mistrz | projekt
Pracując w projektowaniu, zrobiłem skrytkę i przestawiłem się na master, dokonałem pewnych poprawek. Wróciłem do projektowania i wykonałemstash apply
tylko, aby stracić wszystkie moje zmiany w branży projektowania.
Mam nadzieję, że cała moja praca jest w skrytce, ponieważ ich nie wyczyściłem ani nie usunąłem.
Jeśli wykonam listę zapasów, otrzymam 4 wyniki:
stash@{0}: WIP on design: f2c0c72... Adjust Password Recover Email
stash@{1}: WIP on design: f2c0c72... Adjust Password Recover Email
stash@{2}: WIP on design: eb65635... Email Adjust
stash@{3}: WIP on design: eb65635... Email Adjust
Jeśli spróbuję git stash apply f2c0c72
, pojawia się błąd:
fatal: Needed a single revision
f2c0c72: no valid stashed state found
Jak mogę zastosować określoną skrytkę?
git stash apply 0
(zamiastgit stash apply stash@{0}
). Zobacz moją odpowiedź tutaj .Odpowiedzi:
Klucze do skrytki to tak naprawdę
stash@{n}
przedmioty po lewej stronie. Więc spróbuj:(zwróć uwagę, że w niektórych muszlach musisz zacytować
"stash@{0}"
, np. zsh, fish i powerhell).Od wersji 2.11, to całkiem proste, można użyć liczby N stosu zamiast używać
stash@{n}
. Więc teraz zamiast używać:Możesz pisać:
Aby uzyskać listę skrytek:
W rzeczywistości
stash@{0}
jest to wersja git, którą możesz przełączyć na ... alegit stash apply ...
powinieneś dowiedzieć się, jak DTRT zastosować ją do bieżącej lokalizacji.źródło
gitk stash@{0}
Pokazać zmiany, które wprowadziłeś w konkretnej skrytce.git stash apply "stash@{0}"
stash@{n}
jest najbardziej niezręcznym poleceniem do pisania. Czy istnieją inne skróty, aby to zrobić poza utworzeniem własnego aliasu lub funkcji?git stash apply n
jest spokojnyAby zastosować skrytkę i usunąć ją z listy skrytek, uruchom:
Aby zastosować skrytkę i zachować ją w pamięci podręcznej skrytki, uruchom:
źródło
git stash pop "stash@{n}"
git stash apply stash@"{n}"
git stash apply stash@`{n`}
(zwróć uwagę na backsticks przed nawiasami klamrowymi).Od wersji 2.11, to całkiem proste, można użyć liczby N stosu zamiast mówić
"stash@{n}"
. Więc teraz zamiast używać:Możesz pisać:
Na przykład na liście:
Jeśli chcesz złożyć podanie,
stash@{1}
możesz wpisać:W przeciwnym razie możesz go użyć, nawet jeśli masz pewne zmiany w katalogu od wersji 1.7.5.1, ale musisz mieć pewność, że skrytka nie zastąpi zmian w katalogu roboczym, jeśli tak się stanie, pojawi się błąd:
W wersjach wcześniejszych niż 1.7.5.1 odmawiał działania, jeśli nastąpiła zmiana w katalogu roboczym.
Informacje o wersji Git:
źródło
Jeśli ktoś znajduje się na komputerze z systemem Windows i w programie PowerShell, należy zacytować taki argument:
... lub, aby zastosować zmiany i usunąć ze schowka:
W przeciwnym razie bez cytatów możesz otrzymać ten błąd:
źródło
następnie wybierz skrytkę do zastosowania i użyj tylko numeru:
źródło
Lista pokaże wszystkie ukryte elementy, np .: stash @ {0} :, stash @ {1}:, .., stash @ {n}:
Następnie wybierz liczbę n, która oznacza skrytkę @ {n}:
źródło