По неопытности сделал git reset --hard HEAD~2 , когда было всего 2 коммита(не было ни одного pushа к тому времени, только файлы в локальной репе), не знал, что это целиком захватывает файлы:(, в результате получил пустую директорию с .git (600мб), можно ли восстановить файлы?!, если да, то как?Или как-нибудь вернуться на 1 коммит после? Сроки горят, очень нужно! Не доверяйте этой статье! https://habrahabr.ru/post/138590/
Asked
Active
Viewed 736 times
5
Nick Volynkin
- 34,094
Xambey
- 1,052
1 Answers
10
да, скорее всего можно. Выполните команду git reflog - это лог Вашей локальной работы. Там Вы как раз увидите свои sha хеши коммитов. Теперь можно попробовать сделать git checkout <shaхеш> - то есть где то так git checkout ab1cd3. Если Вам повезет, то сорцы будут восстановлены. А дальше от этого можно сделать новую ветку (git branch recovery) и работать как обычно.
KoVadim
- 112,121
- 6
- 94
- 160
-
1кланяюсь в ноги, целую, не знаю как отблагодарить!!! СПАСИБО!!! Вы спасли мой отпуск!) – Xambey Jul 25 '16 at 07:40
-
1на будущее - если начитались умных статей и решили поэкспериментировать с репозиторием, вначале создайте ветку для "восстановления" -
git branch savepoint(имя бранча может быть любое, но делать нужно в той ветке (или ветках, но тогда имя "savepoint" должны быть разные), которую будете модифицировать. В этом случае всегда можно будет откатиться (ну почти всегда). – KoVadim Jul 25 '16 at 07:43 -
<наглая реклама>можно доверять вот этой статье: Как вернуться (откатиться) к более раннему коммиту?</наглая реклама>– Nick Volynkin Jul 25 '16 at 07:52