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

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

Git Лабораторна 27: Вибір стратегії оновлення

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

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

Тема: git pull з merge та з rebase

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

Мета: побачити різницю у вигляді історії при використанні звичайного pull і при використанні pull з rebase.



Крок 1. Переконатися що у вас є віддалений origin з main гілкою.

Команда: cd ~/git_lab1 && git branch -vv

Пояснення: переконайтеся що main відстежує origin/main.



Крок 2. Створити локальну гілку pull-merge-test.

Команда: git switch -c pull-merge-test



Крок 3. Зробити локальний коміт.

Команди: echo "local change for pull" >> pull.txt; git add pull.txt; git commit -m "Local change before pull"



Крок 4. Імітувати зміни на сервері.

Пояснення: у реальній ситуації їх зробить інший розробник, для лабораторії можна зробити ще один clone і закомітити там.



Крок 5. Після появи нових комітів на origin виконати звичайний pull.

Команда: git pull

Пояснення: буде створено merge коміт якщо історії розійшлися.



Крок 6. Подивитися історію.

Команда: git log --oneline --graph --decorate -n 10

Пояснення: видно окрему merge вершину.



Крок 7. Створити нову гілку pull-rebase-test від того ж стану main.

Команда: git switch main; git switch -c pull-rebase-test



Крок 8. Знову зробити локальний коміт і імітувати віддалені зміни.

Пояснення: повторіть сценарій але використаєте pull з rebase.



Крок 9. Виконати git pull з rebase.

Команда: git pull --rebase

Пояснення: локальні коміти будуть відтворені поверх нової історії origin.



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

Завдання: опишіть коли у команді краще заборонити merge pull і встановити git config pull.rebase true.