Налаштування Git Flow / GitHub Flow для командної розробки сайту

Наша компанія займається розробкою, підтримкою та обслуговуванням сайтів будь-якої складності. Від простих односторінкових сайтів до масштабних кластерних систем, побудованих на мікро сервісах. Досвід розробників підтверджено сертифікатами від вендорів.

Розробка та обслуговування будь-яких видів сайтів:

Інформаційні сайти або веб-програми
Сайти візитки, landing page, корпоративні сайти, онлайн каталоги, квіз, промо-сайти, блоги, ресурси новин, інформаційні портали, форуми, агрегатори
Сайти або веб-програми електронної комерції
Інтернет-магазини, B2B-портали, маркетплейси, онлайн-обмінники, кешбек-сайти, біржі, дропшиппінг-платформи, парсери товарів
Веб-програми для управління бізнес-процесами
CRM-системи, ERP-системи, корпоративні портали, системи управління виробництвом, парсери інформації
Сайти або веб-програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, конструктори сайтів, портали надання електронних послуг, відеохостинги, тематичні портали

Це лише деякі з технічних типів сайтів, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Пропоновані послуги
Показано 1 з 1 послугУсі 2065 послуг
Налаштування Git Flow / GitHub Flow для командної розробки сайту
Проста
~1 робочий день
Часті питання

Наші компетенції:

Етапи розробки

Останні роботи

  • image_website-b2b-advance_0.png
    Розробка сайту компанії B2B ADVANCE
    1262
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1171
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    874
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1094
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    831
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Розробка веб-сайту для компанії ФІКСПЕР
    851

Налаштування Git Flow / GitHub Flow для командної розробки

Без домовленості про гілки команда з 3+ осіб неминуче отримує конфлікти в main, незрозуміло коли деплоїти та регулярні «хто зламав продакшен». Git Flow та GitHub Flow — два перевірені підходи з різними trade-off.

Git Flow: коли підходить

Git Flow має сенс при: рідких релізах (раз на тиждень або рідше), необхідності підтримувати кілька версій, складних hotfix-процесах.

Структура гілок:

  • main — тільки production-ready код, теги версій
  • develop — інтеграційна гілка, звідки беруться feature-гілки
  • feature/ticket-123-user-auth — розробка функції
  • release/1.5.0 — підготовка релізу (bugfixes, оновлення версій)
  • hotfix/1.4.1-payment-fix — терміні правки в production
# Ініціалізація Git Flow
git flow init

# Початок функції
git flow feature start user-authentication

# Завершення функції (merge в develop)
git flow feature finish user-authentication

# Створення релізу
git flow release start 1.5.0
# ... фінальні правки, оновлення CHANGELOG
git flow release finish 1.5.0

GitHub Flow: коли підходить

GitHub Flow простіший та краще підходить для continuous delivery: деплой відбувається при кожному merge в main.

Правила:

  1. main — завжди deployable
  2. Все робиться в гілках від main
  3. Називаємо гілки зрозуміло: feat/user-dashboard, fix/checkout-crash, chore/update-deps
  4. Відкриваємо PR для будь-якої змін
  5. Деплоїмо з гілки, мержимо тільки після перевірки в production

Naming Conventions

Єдині правила найменування гілок знижують когнітивне навантаження:

feat/JIRA-123-short-description    # нова функціональність
fix/JIRA-456-bug-description       # виправлення бага
chore/update-node-20               # технічні завдання
docs/update-api-reference          # документація
refactor/extract-payment-service   # рефакторинг

Branch Protection Rules

В GitHub Settings → Branches налаштовуємо захист main:

  • Require pull request before merging — прямий push в main заборонений
  • Require approvals: 1 — мінімум один approv від іншого розробника
  • Require status checks to pass — CI повинен пройти
  • Require branches to be up to date — гілка повинна бути актуальна перед merge
  • Do not allow bypassing the above settings — застосовується в тому числі для адміністраторів

.gitconfig та шаблони

Шаблон commit message для команди:

# .gitmessage
# Тип: feat, fix, docs, chore, refactor, test, perf
# feat(auth): додати OAuth через Google
#
# Тіло (опціонально): що та чому, не як
#
# JIRA: PROJ-123
git config --global commit.template ~/.gitmessage

Терміни

Вибір та документування процесу, налаштування branch protection rules, шаблонів та хуків для команди — 0,5–1 день.