← До списку лабораторних по Git
Повний опис / сценарій лабораторної:
Мета: зрозуміти що таке detached HEAD, як тимчасово працювати на старому коміті і не загубити важливі зміни. Крок 1. Переглянути історію останніх комітів. Команда: cd ~/git_lab1 && git log --oneline -n 5 Крок 2. Перемкнутися на старий коміт за хешем. Команда: git checkout ХЕШ_СТАРОГО_КОМІТУ Пояснення: Git попередить що ви у detached HEAD. Крок 3. Перевірити поточну гілку. Команда: git branch Пояснення: жодна гілка не буде позначена як активна. Крок 4. Зробити тестову зміну у файлі. Команди: echo "experiment on old commit" >> detached.txt; git add detached.txt; git commit -m "Temporary commit in detached HEAD" Пояснення: коміт створено, але не привʼязаний до гілки. Крок 5. Створити гілку з поточного стану. Команда: git switch -c experiment-from-old Пояснення: тепер коміт закріплений у новій гілці. Крок 6. Перевірити історію нової гілки. Команда: git log --oneline -n 3 Крок 7. Повернутися у main гілку. Команда: git switch main Крок 8. Злити experiment-from-old у main при потребі. Команда: git merge experiment-from-old Пояснення: таким чином експериментальні зміни потрапляють у основну історію. Крок 9. Пояснити що буде якщо покинути detached HEAD без створення гілки. Пояснення: коміти можуть стати недосяжними після руху HEAD і згодом бути прибрані gc. Крок 10. Міні звіт. Завдання: опишіть коли вам може знадобитися тимчасова робота у detached HEAD і як не втратити результати експерименту.