Що таке основна гілка проекту?
Основна гілка проекту в Git - це головна «опорна» гілка репозиторію, навколо якої будується вся розробка. У ній зазвичай лежить базова версія проекту, на яку орієнтуються команда, CI/CD і релізи. Найчастіше вона називається main (історично - master).
Як зрозуміти, що гілка «основна»
Це не особливий тип гілки всередині Git - технічно це звичайна гілка. «Основною» її робить домовленість команди та налаштування репозиторію:
- вона вважається джерелом правди (baseline) для проекту;
- від неї найчастіше відгалужуються фічі/фікси;
- у неї зазвичай зливають перевірені зміни через merge/rebase;
- на неї часто зав'язані права доступу, правила PR/MR, перевірки CI.
Для чого вона потрібна
1) Стабільна точка опори
Основна гілка повинна відображати стан, який:
- можна зібрати (build),
- можна протестувати,
- часто - можна задеплоїти.
Тому в командах її намагаються тримати у максимально робочому вигляді.
2) Спільна точка для інтеграції змін
Розробка майже завжди йде паралельно: один робить фічу, інший - багфікс, третій - рефакторинг. Основна гілка - місце, де зміни:
- зводяться разом,
- проходять перевірки,
- стають частиною спільного продукту.
3) Основа для релізів і версіювання
У багатьох процесах реліз робиться «з main»:
- ставляться теги (наприклад,
v1.4.0); - збираються артефакти;
- запускаються пайплайни деплою.
Які бувають підходи до «основної» гілки
Вибір залежить від процесу розробки:
Варіант A: main = завжди готовий до продакшену
- у
mainпотрапляє тільки те, що можна випускати; - фічі йдуть через гілки
feature/*, потім PR/MR, перевірки і merge.
Варіант B: main = інтеграційна гілка, а прод - із release/* або stable
mainможе бути «живішою» і змінюватися частіше;- стабільність для продакшену забезпечується окремою гілкою релізу.
На практиці частіше прагнуть до варіанту A, тому що він простіший і дисциплінує.
Як вона пов'язана з гілками, HEAD і віддаленими репозиторіями
- Локально у тебе є гілка
main. - Віддалено є, наприклад,
origin/main. - Коли кажуть «основна гілка», зазвичай мають на увазі саме гілку за умовчанням на сервері (те, що відкривається першим при заході в репозиторій) і її локальний аналог.
HEADзазвичай вказує на поточну гілку; якщо ти наmain, тоHEAD → main.
Що зазвичай прийнято навколо основної гілки (практика)
- Прямі коміти в основну гілку часто забороняють.
- Зміни потрапляють туди через PR/MR з:
- рев'ю,
- автотестами,
- лінтерами,
- збіркою,
- перевірками якості.
- Коміти намагаються робити осмисленими, а історію - читабельною.
Коротке визначення
Основна гілка проекту - це гілка, яка вважається головною і базовою, містить актуальну стабільну версію і є точкою інтеграції всіх завершених змін; найчастіше називається main (або master).
Коротка відповідь
Для співбесідиКоротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.