2017-02-14 2 views
0

Так вот в чем ситуация. Я работал на сервере, у которого нет резервных копий. Я знал, что есть старый git rep, который теперь удален. Так что я пытался загрузить все на мое новое повторение:как получить данные обратно после сброса git --hard

git init 
git remote add origin ... 
git push -u origin master 

тогда я получил некоторые ошибки и сделал это:

git add . 
git status 

после того, что я видел все мой поданным в очереди. это было хорошо. то я сделал что-то ужасное ...

git reset --hard 

сейчас как-то 80% всех файлов в директории нет, я не имею никакого резервного копирования и не знаю, как откатить .. Я пытался это до сих пор:

git reflog 
git log -g 
git reset --hard [email protected]{1} 
git fsck --lost-found (don't even know why, just tried everything) 
git rebase ffff3f3400153fba************ (last blob I saw) 
git fsck --cache --unreachable $(git for-each-ref --format="%(objectname)") 
git reset --hard @{1} 

и все еще ничего. есть ли способ отбросить назад, как есть?

+0

(отметьте это) [https://stackoverflow.com/questions/5788037/recover-from-git-reset-hard]. возможно, это поможет вам – gauravmehla

+0

https://medium.com/@CarrieGuss/how-to-recover-from-a-git-hard-reset-b830b5e3f60c#.lws54eey7 – gauravmehla

ответ

1

Добавленные файлы, которые были потеряны git reset --hard, или некоторые другие средства будут помещены в найденный. В случае, когда git fsck --lost-found не показывает недостающие файлы, перейдите в /.git/lost-found/other и выполните grep (поиск) для ваших файлов.

+0

там и посмотрите папку 'other' и при входе в нее Я просто вижу много файлов или каталогов, которые называются хэшами. – Sandra

+0

@Sandra Попробуйте без косой черты в вашей папке репо. –

+0

@ Sandra Да, файлы будут названы странно, но в самом деле один из этих файлов будет содержать содержимое файла, который вам не хватает. Вам нужно искать содержимое, а не имена файлов. – jbu

Смежные вопросы