Skip to main content

Що таке основна гілка проекту?

Основна гілка проекту в 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).

Коротка відповідь

Для співбесіди
Premium

Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.