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

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

Git Лабораторна 70: Вибір стилю merge у main

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

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

Тема: Fast forward і no fast forward merge

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

Meta: навчитися розуміти різницю між fast forward і merge з комітом та обрати політику для команди.



Krok 1. Створити новий репозиторій для чистого експерименту.

Komandy: cd ~; mkdir git70; cd git70; git init; echo "base" > file70.txt; git add file70.txt; git commit -m "Base commit"



Krok 2. Створити гілку feature70.

Komanda: git switch -c feature70



Krok 3. Зробити один коміт у feature70.

Komandy: echo "feature line" >> file70.txt; git add file70.txt; git commit -m "Add feature line"



Krok 4. Повернутися у main без додаткових комітів.

Komanda: git switch main



Krok 5. Злити feature70 з fast forward.

Komanda: git merge feature70

Poyasnennya: Git просто пересуне указівник main вперед без merge коміту.



Krok 6. Перевірити log.

Komanda: git log --oneline --graph

Poyasnennya: історія лінійна, merge коміту немає.



Krok 7. Повторити експеримент але заборонити fast forward.

Komanda: git reset --hard HEAD~1; git switch feature70; git commit --amend -m "Feature for no ff"; git switch main; git merge --no-ff feature70 -m "Merge feature70 with no ff"



Krok 8. Переглянути log після no ff.

Komanda: git log --oneline --graph

Poyasnennya: тепер видно окремий merge коміт і невелику гілку.



Krok 9. Обговорити коли merge з no ff полегшує аналіз історії, а коли лише створює шум.



Krok 10. Mini zvit.

Zavdannya: опиши як ти налаштуєш політику merge у головному репозиторії своєї команди.