Страницы

Поиск по вопросам

пятница, 29 ноября 2019 г.

Можно ли вернуть несохраненные файлы после git checkout . или git reset --hard?

#git #git_checkout


По ошибке удалил изменения, которые не успел сохранить в коммит. 
Можно как-то восстановить изменения файлов?

Стер одним из следующих способов:


git checkout . 
git reset --hard
Просто удалил файлы с диска


(на самом деле, если коммита не было, способ удаления никак не влияет на возможность
восстановления)
    


Ответы

Ответ 1



Как предотвратить Чтобы такое с вами больше не случилось, отменяйте изменения безопасным способом: git stash save Эта команда отменяет все изменения в рабочей области и в индексе (относительно HEAD), сохраняя их в stash. Потом его можно использовать либо удалить. # использовать git stash apply # удалить git stash drop Как восстановить Для начала, проверьте историю и временные файлы своего текстового редактора или среды разработки. Многие из них делают собственные бэкапы по ходу работы на случай непредвиденных обстоятельств. Если измененная версия файлов сначала была добавлена (проиндексирована, git add), то так: git fsck --lost-found Каждый найденный объект будет выложен в папку .git/lost-found/other/ в том же виде, в каком и был (т.е. не blob), но с sha1 соответствующего blob'a вместо имени. Таким образом, содержимое файлов восстановить можно, имена - нельзя. Если файлы не были даже проиндексированы и git checkout . - то средствами Git никак не восстановить.

Комментариев нет:

Отправить комментарий