Szukaj…


Odzyskiwanie z utraconego zatwierdzenia

W przypadku powrotu do poprzedniego zatwierdzenia i zgubienia nowego zatwierdzenia, możesz odzyskać utracone zatwierdzenie przez uruchomienie

git reflog

Następnie znajdź zgubiony zatwierdzenie i zresetuj go, wykonując polecenie

git reset HEAD --hard <sha1-of-commit>

Przywróć usunięty plik po zatwierdzeniu

W przypadku, gdy przypadkowo zatwierdziłeś usunięcie pliku, a później zdałeś sobie sprawę, że potrzebujesz go z powrotem.

Najpierw znajdź identyfikator zatwierdzenia, który usunął twój plik.

git log --diff-filter=D --summary

Otrzymasz posortowane podsumowanie zatwierdzeń, które usunęły pliki.

Następnie przejdź do przywracania pliku przez

git checkout 81eeccf~1 <your-lost-file-name>

(Zamień 81eeccf na swój własny identyfikator zatwierdzenia)

Przywróć plik do poprzedniej wersji

Aby przywrócić plik do poprzedniej wersji, możesz użyć reset .

git reset <sha1-of-commit> <file-name>

Jeśli dokonałeś już lokalnych zmian w pliku (których nie potrzebujesz!), Możesz również użyć opcji --hard

Odzyskaj usunięty oddział

Aby odzyskać usuniętą gałąź, musisz znaleźć zatwierdzenie, które było głową usuniętej gałęzi, uruchamiając

git reflog

Następnie możesz ponownie utworzyć gałąź, uruchamiając

git checkout -b <branch-name> <sha1-of-commit>

Nie będziesz w stanie odzyskać usuniętych gałęzi, jeśli kolektor śmieci gita usunął zwisające zatwierdzenia - te bez referencji. Zawsze miej kopię zapasową swojego repozytorium, szczególnie gdy pracujesz w małym zespole / własnym projekcie

Odzyskiwanie po resecie

Dzięki Git możesz (prawie) zawsze cofnąć zegar

Nie bój się eksperymentować z poleceniami, które przepisują historię *. Git domyślnie nie usuwa twoich zatwierdzeń przez 90 dni, aw tym czasie możesz łatwo odzyskać je z rejestru:

$ git reset @~3   # go back 3 commits
$ git reflog
c4f708b HEAD@{0}: reset: moving to @~3
2c52489 HEAD@{1}: commit: more changes
4a5246d HEAD@{2}: commit: make important changes
e8571e4 HEAD@{3}: commit: make some changes
... earlier commits ...
$ git reset 2c52489
... and you're back where you started

* Uważaj na opcje takie jak - --hard i - --force - mogą one jednak odrzucić dane.
* Unikaj także przepisywania historii w oddziałach, z którymi współpracujesz.

Odzyskaj z zapasów git

Aby uzyskać najnowszą skrytkę po uruchomieniu skrytki git, użyj

git stash apply

Aby zobaczyć listę swoich skrytek, użyj

git stash list

Otrzymasz listę, która wygląda mniej więcej tak

stash@{0}: WIP on master: 67a4e01 Merge tests into develop
stash@{1}: WIP on master: 70f0d95 Add user role to localStorage on user login

Wybierz inną skrytkę git, którą chcesz przywrócić, z liczbą wyświetlaną dla żądanej skrytki

git stash apply stash@{2}

Możesz także wybrać opcję „git stash pop”, działa to tak samo jak „git stash Apply” jak…

 git stash pop 

lub

 git stash pop stash@{2}

Różnica w git stash stosuje się i git stash pop ...

git stash pop : - dane skrytki zostaną usunięte ze stosu listy skrytek.

Dawny:-

git stash list

Otrzymasz listę, która wygląda mniej więcej tak

stash@{0}: WIP on master: 67a4e01 Merge tests into develop
stash@{1}: WIP on master: 70f0d95 Add user role to localStorage on user login

Teraz pop ukryj dane za pomocą polecenia

git stash pop

Ponownie Sprawdź listę skrytek

git stash list

Otrzymasz listę, która wygląda mniej więcej tak

 stash@{0}: WIP on master: 70f0d95 Add user role to localStorage on user login

Możesz zobaczyć, że jeden ukryty dane został usunięty (usunięty) z listy ukrytych i ukryty @ {1} stał się ukryty @ {0}.



Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow