Восстановить поставленные, но не зафиксированные файлы после '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
чтобы получить содержимое вашего потерянного файла.
Но извините, я понятия не имею о том, как восстановить каталог или сделать это автоматически.