← До фільтрів та технологій

← До списку лабораторних по Git

Git Лабораторна 38: Тимчасові експерименти на старих комітах

Технологія: Git

Номер лабораторної: 38 · Рівень: middle

Тема: Робота у стані detached HEAD

Повний опис / сценарій лабораторної:

Мета: зрозуміти що таке 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 і як не втратити результати експерименту.