Запропонувати правкуПокращити цю статтюДопрацюйте відповідь до «Що таке основна гілка проекту?». Ваші зміни проходять модерацію перед публікацією.Потрібне підтвердженняКонтентЩо ви змінюєте🇺🇸EN🇺🇦UAПереглядЗаголовок (UA)Коротка відповідь (UA)**Основна гілка проекту** в Git - це головна «опорна» гілка репозиторію, навколо якої будується вся розробка. **Ключове:** найчастіше вона називається `main` (історично - `master`) і містить базову версію проекту, на яку орієнтуються команда, CI/CD і релізи.Показується над повною відповіддю для швидкого нагадування.Відповідь (UA)Зображення**Основна гілка проекту** в 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`).Для рев’юераПримітка для модератора (необов’язково)Бачить лише модератор. Прискорює рев’ю.