Можно ли восстановить удаленные файлы, которые добавлены, но не зафиксированы в Git?
Я новичок в git, и я только что сделал глупую ошибку, что удалил некоторые важные файлы командой "rm *". Тем не менее, я использовал "git add" для добавления этих файлов, но не для фиксации. удаление еще не добавлено. Так есть ли способ восстановить эти удаленные файлы.
Любые предложения или ответы будут оценены. Благодарю.
2 ответа
Поскольку файлы уже находятся в вашей промежуточной области (индекс), просто передайте их, используя git commit
без каких-либо аргументов. Это зафиксирует содержимое индекса независимо от текущего состояния рабочего дерева.
Тогда вы можете использовать git reset --hard
(если у вас нет других изменений в дереве, которое вы хотите сохранить) или git checkout FILE1 FILE2...
чтобы восстановить потерянные файлы в вашем рабочем дереве.
Ты можешь использовать git fsck --lost-found
найти все объекты, на которые больше нет ссылок. Вы захотите посмотреть на объекты "blob" и посмотреть, соответствует ли какой-либо из них удаленным файлам. Надеюсь, у вас не так много объектов, на которые нет ссылок.
Как указал пользователь 4815162342, автор фактически сказал, что удаление еще не было добавлено, что означает, что их можно получить с помощью git checkout
или просто пообещали прямо сейчас убедиться, что они не уйдут.
Я собираюсь оставить свой ответ на случай, если кто-то еще хочет получить информацию о git fsck --lost-found
, но ответ пользователя 4815162342 должен быть принят.