Восстановить поставленные, но не зафиксированные файлы после 'git rm -rf'

На моей локальной машине я удалил файлы из папки.

git init
git add --all

потом я написал (не спрашивайте меня, почему!:))

git rm -rf

Я пока не совершаю. Теперь у меня есть пустые папки в моем проекте. В .git папка имеет objects с 53 Мб файлов.

Как я могу восстановить мои файлы? Я пробовал такие программы, как Drill Disc и Stellar, но не нашел свои файлы. И я не могу откатиться из GIT.

Как я могу восстановить потерянные файлы?

2 ответа

Решение

(обновление) Использование git fsck вместо этого это встроенная команда для извлечения файлов, которые вы однажды добавили в репозиторий git.

git fsck --lost-found --unreachable

после обработки команды извлеченные файлы будут помещены в .git/lost-found/other, с именем файла хэша sha256. Хотя оригинальное имя все еще потеряно, контент вернется.


Вы можете найти ваши файлы в вашем .git/objects каталог.

Предположим, что есть .git/objects/2f/ae996f8f8f9298b41ba4fdbac3d62014f9579e объект, вы можете выполнить

git cat-file -p 2fae996

чтобы получить содержимое вашего потерянного файла.

Но извините, я понятия не имею о том, как восстановить каталог или сделать это автоматически.

Ты пытался:

git reset --hard

?

Надеюсь, что это работает:)

Другие вопросы по тегам