Skip to main content

У чому основна ідея Gitflow?

Основна ідея Gitflow - розділити розробку, підготовку релізів і продакшн-код за різними гілками, щоб процес випуску був суворо керованим і передбачуваним.

Простіше кажучи: «У кожної стадії життя коду - своя гілка і чіткі правила».


Ключова концепція Gitflow

У Gitflow є постійні гілки і тимчасові гілки, і у кожної - своя роль.

Постійні гілки

  • main - лише продакшн-код, кожен коміт = реліз
  • develop - основна гілка розробки, все нове спочатку потрапляє сюди

Тимчасові гілки

  • feature/* - розробка нових фіч
  • release/* - підготовка релізу
  • hotfix/* - термінові виправлення продакшну

Як це працює загалом

  1. Нові фічі робляться у feature/* від develop
  2. Фічі вливаються назад у develop
  3. Коли потрібно випускати версію - створюється release/*
  4. У release/* правлять лише баги і метадані релізу
  5. Реліз мерджиться в main (продакшн)
  6. Зміни з релізу повертаються в develop
  7. Термінові баги в проді лагодяться через hotfix/* від main

У чому суть Gitflow (коротко)

  • чіткий поділ стадій розробки
  • стабільний main
  • активна розробка в develop
  • релізи і хотфікси ізольовані
  • легко підтримувати кілька версій

Навіщо взагалі потрібен Gitflow

Gitflow вирішує проблеми:

  • складних релізів
  • довгої підготовки версій
  • паралельної підтримки продакшну і розробки
  • суворих процесів у великих командах

Коли Gitflow підходить

Gitflow добре працює, якщо:

  • релізи рідкісні й планові
  • проект великий
  • важлива сувора стабільність
  • є окремі релізні цикли

Коли Gitflow не підходить

Gitflow надлишковий, якщо:

  • маленька команда
  • часті релізи
  • CI/CD і continuous delivery
  • швидкі ітерації

Коротка відповідь для співбесіди

Основна ідея Gitflow - розділити розробку, релізи і продакшн за допомогою окремих гілок (develop, main, feature, release, hotfix), щоб зробити процес випуску коду керованим і передбачуваним.

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

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

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