Лекція 46. Гілки Git: безпечні паралельні експерименти
Лекція 46. Гілки Git: безпечні паралельні експерименти
Section titled “Лекція 46. Гілки Git: безпечні паралельні експерименти”Рівень 8: Хранитель історії коду
Марко, сьогодні ми не просто вивчимо новий термін — ми відкриємо ще один шар того, як насправді працює комп’ютер.
Що ми сьогодні розкриємо
Section titled “Що ми сьогодні розкриємо”- зрозуміти branch як рухомий покажчик на історію
- створити й переключити гілку
- зробити експеримент, не змінюючи main напряму
Зв’язок з попередніми лекціями
Section titled “Зв’язок з попередніми лекціями”У цій лекції ми використаємо знання про Git із лекцій 43—45, щоб навчитися створювати та перемикати гілки.
Гілка — окрема лінія розвитку
Section titled “Гілка — окрема лінія розвитку”Уяви гру, де ти зробив save point і хочеш спробувати ризикований маршрут, не псуючи основне проходження. У Git для паралельної роботи є branches.
Технічно branch — легкий рухомий покажчик на commit, але для старту корисна модель «окрема лінія експерименту».
gitGraph
commit id: "початок"
commit id: "додав гру"
branch experiment
checkout experiment
commit id: "ризикований хід"
commit id: "ще один експеримент"
checkout main
commit id: "звичайна робота"
merge experiment id: "злили"
main — лише типове ім’я основної гілки
Section titled “main — лише типове ім’я основної гілки”Назва main не має особливої магії. Вона просто стала поширеною назвою головної лінії історії. Можна створити feature-greeting, experiment, fix-menu тощо.
switch змінює активну гілку
Section titled “switch змінює активну гілку”git switch -c experiment створює гілку й переходить на неї. Після commit нова історія належить цій лінії. Повернувшись git switch main, ти побачиш файли так, як вони виглядають у main.
Перед перемиканням краще мати чистий git status, щоб не заплутатися з незбереженими змінами.
Приклади
Section titled “Приклади”Приклад 1
Section titled “Приклад 1”git branch показує гілки; зірочка позначає поточну.
Приклад 2
Section titled “Приклад 2”git switch -c blue-message створить нову гілку від поточного commit.
Приклад 3
Section titled “Приклад 3”Commit у blue-message не автоматично з’являється в main; для об’єднання потрібен merge або інший явний механізм.
Git-лабораторія: експериментальна гілка
Section titled “Git-лабораторія: експериментальна гілка”cd ~/marko-lab/git-time-machinegit statusgit switch -c experimentgit branchprintf 'print("Experimental version")' > app.pygit add app.pygit commit -m "Try experimental greeting"git log --oneline --decorate -n 3git switch maincat app.pyПорівняй вміст app.py у main та experiment.
Місія для Марка
Section titled “Місія для Марка”Виконай місію по черзі. Якщо щось не виходить — спочатку перечитай приклад вище й спробуй знайти, на якому кроці результат відрізняється.
- створи гілку
experiment - зміни
app.pyлише в ній і зроби commit - переключися на main і перевір вміст
- повернися в experiment і ще раз порівняй
- намалюй дві лінії історії, які розходяться від одного commit
Перевір себе
Section titled “Перевір себе”- Що таке branch у простій моделі?
- Що робить
git switch -c? - Чи потрапляє commit нової гілки в main автоматично?
- Що показує
git branch? - Чому перед switch корисний чистий
git status?
Терміни однією фразою
Section titled “Терміни однією фразою”- Branch (гілка) — окрема лінія розвитку, яка може існувати паралельно з іншими.
main— типове ім’я основної гілки.git switch -c— створює нову гілку й переходить на неї.git branch— показує всі гілки; зірочка позначає поточну.git log --oneline --decorate— показує commits із назвами гілок.- Merge — об’єднання гілок (типовий наступний крок після експерименту).
Чек-лист перед наступною лекцією
Section titled “Чек-лист перед наступною лекцією”- Чи можеш ти пояснити, що таке гілки (branches) у Git?
- Чи вмієш ти створювати та перемикатися між гілками за допомогою
git switch? - Чи розумієш ти, як працює злиття (merge) гілок?
Що потрібно винести з лекції
Section titled “Що потрібно винести з лекції”- гілки дозволяють вести паралельні лінії роботи
- commit належить історії, на яку вказує активна гілка
- експерименти в окремих branches зменшують ризик зламати основну лінію
Хакерський принцип: не запам’ятовуй магічні слова. Намагайся пояснити своїми словами, що відбулося і чому.