08.09.23

Git - Відновлення видаленого файла після commit

 

Пошук назви файла в поточній версії

git grep <filename> 


Сегодня передо мной встала довольно простая, но интересная задача: восстановить несколько файлов в репозитории Git, которые были удалены некоторое время назад в разных коммитах. Задача простая, потому что решение легко найти в соотвествующих ответах на Stack Overflow. Мне лишь осталось слегка адаптировать приведенные примеры команд для своих нужд.

Я не помнил точные названия файлов и уж тем более не знал хэши коммитов, в которых производилось удаление. Поэтому воспользовался сниппетом от пользователя Robert Munteanu, чтобы вывести историю удаленных файлов:

git log --diff-filter=D --summary

Отыскав необходимые файлы и коммиты, можно было бы воспользоваться простым git checkout для восстановления

 

git checkout a1e8fb5 
 
 

 Де  a1e8fb5 -хеш тимчасово відновленого образу. Тут можна забрати видалені тоді файли.

Потім щоб повернутись до останньої версії програми



git checkout main