← До списку лабораторних по Git
Повний опис / сценарій лабораторної:
Мета: навчитися користуватися git reflog щоб знаходити старі положення HEAD і повертатися до них при аварійних ситуаціях. Крок 1. Переглянути поточну історію. Команда: cd ~/git_lab1 && git log --oneline -n 5 Крок 2. Зробити тестовий коміт. Команди: echo "reflog test" >> reflog.txt; git add reflog.txt; git commit -m "Reflog demo commit" Крок 3. Виконати помилковий reset який відкидає останній коміт. Команда: git reset --hard HEAD~1 Пояснення: коміт з reflog.txt зникає з гілки. Крок 4. Перевірити історію. Команда: git log --oneline -n 5 Пояснення: нового коміту більше немає. Крок 5. Використати git reflog. Команда: git reflog Пояснення: у виводі видно всі переміщення HEAD включно з reset. Крок 6. Знайти запис перед reset де HEAD вказував на потрібний коміт. Пояснення: зверніть увагу на хеш у цьому рядку. Крок 7. Повернутися до того коміту. Команда: git reset --hard ХЕШ_З_REFFLOG Пояснення: гілка знову буде містити втрачений коміт. Крок 8. Перевірити вміст reflog.txt. Команда: cat reflog.txt Пояснення: рядок "reflog test" має повернутися. Крок 9. Обговорити особливості збереження reflog у часі. Пояснення: записи reflog з часом очищаються відповідно до налаштувань gc. Крок 10. Міні звіт. Завдання: опишіть кроки які ви зробите якщо випадково зробите git reset --hard origin/main замість локального хешу.