Zrobiłem git stash pop i teraz mam mnóstwo konfliktów. Popełniłem cały mój ostatni kod przed wprowadzeniem git stash pop
, więc czy jest sposób, aby wrócić do ostatniego zatwierdzenia i pozbyć się wszystkich konfliktów i zakodować git stash pop
wstrzyknięty?
137
git stash
wystąpią konflikty, gdy ty, git nie usunie skrytki z listy. Więcgit reset --hard HEAD
nie niszczy pękniętej pracy.Odpowiedzi:
To zostało już zadane i odpowiedziano na stackoverflow (zobacz Jak przywrócić repozytorium Git do poprzedniego zatwierdzenia? ), Ale prosta odpowiedź brzmi:
To powinno rozwiązać twój problem. Zauważ, że spowoduje to usunięcie wszystkich niezatwierdzonych zmian z repozytorium.
Zwróć uwagę, że jeśli wystąpią konflikty, skrytka zostanie zachowana. Z dokumentów w skrytce :
źródło
git stash pop
spowoduje to konflikt, skrytka nie zostanie usunięta z listy.Reset można również wywołać dla określonych plików:
Nie możesz jednak mocno zresetować pliku. Możesz jednak cofnąć te zmiany przy płatności później:
Twój zapas zostanie zachowany, jak wskazał Luke w odpowiedzi Michaela Miloma.
Jest to przydatne, gdy nie chcesz stracić niezatwierdzonych zmian lokalnych.
źródło
Jeśli już nigdy nie chcesz widzieć pracy w wyskakującym schowku, jest to tak proste, jak twardy reset:
To mówi gitowi, aby zignorował fakt, że dokonałeś niezatwierdzonych zmian w katalogu roboczym i ustawia katalog roboczy, obszar pomostowy i kieruje się do podanego zatwierdzenia - w tym przypadku istniejącego HEAD, który zawiera całą pracę, którą właśnie się popełniłem.
źródło