Właśnie pobrałem wcześniejsze zatwierdzenie z mojego lokalnego repozytorium git. Nie wprowadzałem żadnych zmian, po prostu na to patrzyłem. Teraz chcę wrócić do mojego ostatniego zatwierdzenia - jak to zrobić?
Dokładne polecenie, którego użyłem, aby to sprawdzić:
git checkout e5dff6b3c5d704f9b598de46551355d18235ac08
Teraz, kiedy piszę git log, na górze widzę to wyewidencjonowane zatwierdzenie, ale żadne z moich późniejszych zatwierdzeń. Czy przypadkowo je usunąłem?
Odpowiedzi:
Spróbuj najpierw tego:
(Jeśli jesteś w innym oddziale niż
master
, użyj zamiast tego nazwy oddziału).Jeśli to nie zadziała, spróbuj ...
Dla pojedynczego pliku:
Dla całej kopii roboczej repozytorium:
A jeśli to nie zadziała, możesz spojrzeć w reflog, aby znaleźć swój stary head SHA i zresetować do tego:
HEAD
to nazwa, która zawsze wskazuje na najnowsze zatwierdzenie w Twojej bieżącej gałęzi.źródło
HEAD
piszesz dosłownie. Git już wie, coHEAD
to znaczy. Jednakże, jeśli naprawdę, naprawdę chcesz nadać mu SHA1, możesz użyćgit log
do spojrzenia na dziennik zatwierdzeń.git reset --hard HEAD
, przenosi mnie z powrotem do tego wyrejestrowanego zatwierdzenia ... Opublikuję dokładne polecenie, którego użyłem do sprawdzenia.git rev-parse HEAD
i zobaczyć, że daje ci SHA1 odpowiadający twojemu najnowszemu zatwierdzeniu.)Aby cofnąć
git checkout
zrobićgit checkout -
, podobnie jakcd
icd -
w skorupkach.źródło
Prawdopodobnie chcesz
git checkout master
, lubgit checkout [branchname]
.źródło