Git Reflog
Ostatnia aktualizacja
git reflog zapisuje każde miejsce, na które wskazywał HEAD: każdy commit, checkout, reset i rebase. Ponieważ Git przechowuje te commity jeszcze przez jakiś czas, nawet gdy znikną z twoich gałęzi, reflog jest twoją siatką bezpieczeństwa: pozwala znaleźć i odzyskać pracę, którą pozornie zniszczył reset --hard, nieudany rebase albo usunięcie gałęzi.
Wypróbuj te polecenia w terminalu online: prawdziwa powłoka w przeglądarce, bez żadnej instalacji.
Składnia
| Polecenie | Co robi |
|---|---|
git reflog | Pokazuje ostatnie pozycje HEAD z hashami |
git reflog show <branch> | Pokazuje reflog gałęzi |
git reset --hard HEAD@{1} | Cofa HEAD do poprzedniej pozycji |
git branch recovered <hash> | Odtwarza gałąź na utraconym commicie |
Ratunek po pomyłce
Cofnij nieudany reset, odnajdując commit sprzed resetu.
| Krok | Polecenie | Wynik |
|---|---|---|
| 1 | git reflog | Znajdź commit sprzed resetu |
| 2 | git reset --hard HEAD@{1} | Przywróć do niego swoją gałąź |
Najczęstsze pytania o git reflog
Czym jest git reflog?
HEAD (i koniec każdej gałęzi) w twoim lokalnym repozytorium: po commitach, checkoutach, resetach, scaleniach i rebase. W przeciwieństwie do git log, który podąża za przodkami commitów, reflog to chronologiczny zapis twoich działań i właśnie dlatego przydaje się do odzyskiwania.Jak odzyskać commit po git reset --hard?
git reflog, żeby znaleźć wpis commita, na którym była gałąź przed resetem (coś w rodzaju HEAD@{1}), a potem git reset --hard <that-hash> (albo HEAD@{1}), żeby do niego wrócić. Commit nie został naprawdę usunięty: po prostu żadna gałąź na niego nie wskazywała, a reflog wciąż zna jego hash.Jak przywrócić usuniętą gałąź?
git reflog, a potem odtwórz tam gałąź: git branch <name> <hash>. Dopóki usunięcie było niedawno (w granicach czasu wygasania reflogu, zwykle kilka tygodni), commity są w ten sposób nadal osiągalne.Czy git reflog działa między klonami?
Czy mogę to przećwiczyć online?
git reflog w prawdziwej powłoce w przeglądarce, bez żadnej instalacji. Darmowy interaktywny kurs Git w Coddy też krok po kroku omawia cofanie zmian i odzyskiwanie pracy.