← До списку лабораторних по Git
Повний опис / сценарій лабораторної:
Meta: навчитися відновлювати коміти після помилкового git reset --hard за допомогою reflog.
Krok 1. Створити кілька тестових комітів.
Komandy: cd ~/git_lab1; echo "one" > reset61.txt; git add reset61.txt; git commit -m "Reset demo one"; echo "two" >> reset61.txt; git add reset61.txt; git commit -m "Reset demo two"; echo "three" >> reset61.txt; git add reset61.txt; git commit -m "Reset demo three"
Krok 2. Переглянути короткий log.
Komanda: git log --oneline -n 5
Poyasnennya: зафіксуй хеш останнього коміту для перевірки.
Krok 3. Виконати git reset --hard на один коміт назад.
Komanda: git reset --hard HEAD~1
Poyasnennya: останній коміт зникає з видимої історії.
Krok 4. Перевірити log після reset.
Komanda: git log --oneline -n 5
Poyasnennya: бачиш тільки перші два коміти.
Krok 5. Відкрити reflog.
Komanda: git reflog -n 10
Poyasnennya: знайди запис який відповідає стану до reset з поміткою HEAD@{1} або подібною.
Krok 6. Скопіювати хеш коміту який треба повернути.
Poyasnennya: це хеш останнього коректного коміту перед reset.
Krok 7. Перемкнутися на цей коміт через git reset.
Komanda: git reset --hard ХЕШ_З_REFFLOG
Poyasnennya: робочий каталог і HEAD повертаються до потрібного стану.
Krok 8. Перевірити вміст файлу reset61.txt.
Komanda: cat reset61.txt
Poyasnennya: файл знову містить усі рядки one, two, three.
Krok 9. Зробити коротку нотатку у власному конспекті про послідовність дій при помилковому reset.
Krok 10. Mini zvit.
Zavdannya: опиши як діяти якщо колега зробив git reset --hard origin/main і втратив локальну роботу.