Właśnie usunąłem niewłaściwą gałąź z kilkoma eksperymentalnymi zmianami, których potrzebuję git branch -D branchName
.
Jak mogę odzyskać oddział?
git
branch
git-branch
Stefan Kendall
źródło
źródło
Odpowiedzi:
Możesz użyć git reflog, aby znaleźć SHA1 ostatniego zatwierdzenia oddziału. Od tego momentu możesz odtworzyć gałąź za pomocą
Edycja: Jak mówi @seagullJS,
branch -D
polecenie powie ci sha1, więc jeśli nie zamknąłeś jeszcze terminala, stanie się to naprawdę łatwe. Na przykład to usuwa, a następnie natychmiast przywraca gałąź o nazwiemaster2
:źródło
git branch branchName origin/branchName
Jeśli znasz ostatni SHA1 oddziału, możesz spróbować
Możesz znaleźć SHA1 za pomocą
git reflog
, opisanego w rozwiązaniu tutaj .źródło
Jeśli nie nacisnąłeś jeszcze usunięcia, możesz po prostu zrobić:
źródło
Jeśli właśnie usunąłeś gałąź, zobaczysz coś takiego w swoim terminalu:
Aby przywrócić gałąź, użyj:
na przykład :
źródło
Po pierwsze: wykonaj kopię zapasową całego katalogu, w tym katalogu .git.
Po drugie: możesz użyć
git fsck --lost-found
aby uzyskać identyfikator utraconych zatwierdzeń.Po trzecie: bazuj lub łącz zgubione zatwierdzenie.
Po czwarte: Zawsze myśl dwa razy przed użyciem -D lub --force z git :)
Możesz także przeczytać tę dobrą dyskusję o tym, jak wyjść z tego rodzaju błędu.
EDYCJA: Nawiasem mówiąc, nie uruchamiaj
git gc
(lub nie pozwól, aby uruchomił się sam - tj. Nie uruchamiajgit fetch
ani nic podobnego), bo możesz stracić swoje zobowiązania na zawsze.źródło
Dzięki, działało.
// widzę moje stare zarejestrowane pliki w mojej starej gałęzi
źródło
Wykonaj następujące kroki:
1: Wprowadź:
Spowoduje to wyświetlenie całej historii zatwierdzeń, musisz wybrać sha-1, który ma ostatnie zatwierdzenie, które chcesz odzyskać
2: utwórz nazwę oddziału z wybranym identyfikatorem Sha-1 , np .: 8c87714
źródło
To działało dla mnie:
źródło