Czy jest jakiś sposób na przywrócenie lub cofnięcie git pull, aby moje źródła / repozytoria powróciły do starego stanu, który był przed wykonaniem git pull? Chcę to zrobić, ponieważ połączył niektóre pliki, których nie chciałem, ale scalam tylko pozostałe pliki. Chcę odzyskać te pliki, czy to możliwe?
EDYCJA: Chcę cofnąć połączenie w celu wyjaśnienia. Po obejrzeniu kilku odpowiedzi zrobiłem to
git reflog
bb3139b... HEAD@{0}: pull : Fast forward
01b34fa... HEAD@{1}: clone: from ...name...
Co mam teraz zrobić? Czy wszystko git reset --hard
jest w porządku? Nie chcę tego ponownie pieprzyć, więc pytasz o szczegółowe kroki?
git reflog
pokaże wszystko, co zostało zrobione z git. Istnieje obawa, że git reset --hard [sha1 of something from reflog]
cofnie wszystko, co jest pokazane reflog
, co czasami nie jest celem, np. chcesz cofnąć scalanie na gałęzi master pobranej z pochodzenia ze złymi danymi (zdarza się), a po tym scaleniu pracowałeś nad innymi gałęziami. reflog
pokaże każdą szansę na innych gałęziach. Ale git checkout master
i git reset --hard [SH1 of commit on master branch just before merge]
zresetuje tylko bieżącą gałąź master usuwając scalenie z miejsca pochodzenia.
git reset --hard 01b34fa
w tym przypadku mogłeś zrobić,git reset --hard HEAD^
który resetuje się do jednego zatwierdzenia przed HEAD.