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

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

Git Лабораторна 12: Інтерактивний rebase

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

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

Тема: Локальний rebase: прибирання історії перед push

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

Мета: навчитися прибирати локальну історію перед публікацією, обʼєднувати дрібні коміти і робити історію акуратною.



Крок 1. Створити кілька дрібних комітів підряд.

Команди: cd ~/git_lab1; echo "line a" >> file12.txt; git add file12.txt; git commit -m "Add line a"; echo "line b" >> file12.txt; git add file12.txt; git commit -m "Add line b"; echo "line c" >> file12.txt; git add file12.txt; git commit -m "Add line c"



Крок 2. Подивитися історію останніх комітів.

Команда: git log --oneline -n 5

Пояснення: бачимо три дрібні коміти поспіль.



Крок 3. Запустити інтерактивний rebase для трьох останніх комітів.

Команда: git rebase -i HEAD~3

Пояснення: відкриється редактор з переліком комітів.



Крок 4. Змінити позначки для обʼєднання.

Пояснення: залиште перший як pick, інші поміняйте на squash або fixup.



Крок 5. Зберегти файл та вийти з редактора.

Пояснення: Git обʼєднає коміти в один.



Крок 6. За потреби відредагувати повідомлення нового коміту.

Пояснення: сформулюйте коротке але інформативне повідомлення.



Крок 7. Перевірити оновлену історію.

Команда: git log --oneline -n 5

Пояснення: замість трьох окремих комітів буде один обʼєднаний.



Крок 8. Переконатися що вміст file12.txt містить всі зміни.

Команда: cat file12.txt



Крок 9. Обговорити ризики rebase для вже опублікованих гілок.

Пояснення: переписування історії після push створює конфлікти для інших.



Крок 10. Міні звіт.

Завдання: опишіть коли інтерактивний rebase доцільно робити перед створенням pull request.