Восстановление утерянных файлов
Перед началом испытания для вас был подготовлен Git-репозиторий в директории ~/project/important-project. В этом репозитории уже есть несколько коммитов, включая создание и последующее случайное удаление двух важных файлов. Вот что вам нужно знать:
- Репозиторий был инициализирован начальным коммитом с файлом
README.md.
- Два критически важных файла,
important_algorithm.py и crucial_data.txt, были добавлены в следующем коммите.
- После этого было сделано еще несколько коммитов с различными изменениями.
- В какой-то момент файлы
important_algorithm.py и crucial_data.txt были случайно удалены, и это удаление было зафиксировано коммитом.
- После случайного удаления был сделан как минимум еще один коммит.
Ваша задача — восстановить удаленные файлы, изучив историю репозитория, и зафиксировать восстановленные файлы новым коммитом.
Задачи
- Изучите историю репозитория, чтобы определить момент удаления
important_algorithm.py и crucial_data.txt.
- Восстановите состояние репозитория, предшествующее удалению.
- Сохраните оригинальную историю коммитов и создайте новый коммит с сообщением "Recover deleted files".
Требования
- Работайте в директории
~/project/important-project.
- Убедитесь, что после восстановления файлы
important_algorithm.py и crucial_data.txt присутствуют в директории.
- Последний коммит должен иметь сообщение "Recover deleted files", при этом вся предыдущая история коммитов должна быть сохранена.
Пример
После успешного выполнения испытания команда ls в директории проекта должна показать:
$ ls ~/project/important-project
important_algorithm.py crucial_data.txt README.md
Команда git status должна подтвердить чистое состояние рабочей директории:
$ git status
On branch master
nothing to commit, working tree clean
А команда git log должна вывести ваш новый коммит в самом верху списка:
$ git log --oneline
8876d8b (HEAD -> master) Recover deleted files
9b3525c Update project status
5e6234c Oops, accidentally deleted important files
9de9506 Update algorithm TODO
01c36ae Add crucial data and algorithm
638a98d Initial commit