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

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

Git Лабораторна 72: Використання fixup і autosquash

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

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

Тема: Work in progress коміти і autosquash

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

Meta: навчитися робити маленькі виправлення через fixup коміти і автоматично обʼєднувати їх перед merge.



Krok 1. Створити гілку feature72 від main.

Komanda: cd ~/git_lab1 && git switch -c feature72



Krok 2. Зробити базовий коміт.

Komandy: echo "base feature" > f72.txt; git add f72.txt; git commit -m "Feature72 base"



Krok 3. Додати зміни з помилкою.

Komandy: echo "line with typo" >> f72.txt; git add f72.txt; git commit -m "Add feature72 with typo"



Krok 4. Виправити помилку і зробити fixup коміт.

Komandy: sed -i "s/typo/correct/" f72.txt 2>/dev/null || echo "update manually"; git add f72.txt; git commit --fixup=HEAD

Poyasnennya: fixup коміт позначений як виправлення попереднього.



Krok 5. Переглянути log гілки.

Komanda: git log --oneline -n 3



Krok 6. Запустити interactive rebase з autosquash.

Komanda: git rebase -i --autosquash main

Poyasnennya: Git сам перемістить fixup коміт до відповідного місця і обʼєднає.



Krok 7. Завершити rebase і перевірити що історія стала чистішою.

Komanda: git log --oneline main..feature72



Krok 8. Перевірити вміст файлу f72.txt.

Komanda: cat f72.txt

Poyasnennya: повинна залишитися тільки коректна версія рядка.



Krok 9. Занотувати як використовувати fixup у повсякденній роботі щоб не плодити дрібні коміти.



Krok 10. Mini zvit.

Zavdannya: опиши різницю між fixup і squash комітами у контексті rebase.