У чому основна ідея Gitflow?
Основна ідея Gitflow - розділити розробку, підготовку релізів і продакшн-код за різними гілками, щоб процес випуску був суворо керованим і передбачуваним.
Простіше кажучи: «У кожної стадії життя коду - своя гілка і чіткі правила».
Ключова концепція Gitflow
У Gitflow є постійні гілки і тимчасові гілки, і у кожної - своя роль.
Постійні гілки
main- лише продакшн-код, кожен коміт = релізdevelop- основна гілка розробки, все нове спочатку потрапляє сюди
Тимчасові гілки
feature/*- розробка нових фічrelease/*- підготовка релізуhotfix/*- термінові виправлення продакшну
Як це працює загалом
- Нові фічі робляться у
feature/*відdevelop - Фічі вливаються назад у
develop - Коли потрібно випускати версію - створюється
release/* - У
release/*правлять лише баги і метадані релізу - Реліз мерджиться в
main(продакшн) - Зміни з релізу повертаються в
develop - Термінові баги в проді лагодяться через
hotfix/*відmain
У чому суть Gitflow (коротко)
- чіткий поділ стадій розробки
- стабільний
main - активна розробка в
develop - релізи і хотфікси ізольовані
- легко підтримувати кілька версій
Навіщо взагалі потрібен Gitflow
Gitflow вирішує проблеми:
- складних релізів
- довгої підготовки версій
- паралельної підтримки продакшну і розробки
- суворих процесів у великих командах
Коли Gitflow підходить
Gitflow добре працює, якщо:
- релізи рідкісні й планові
- проект великий
- важлива сувора стабільність
- є окремі релізні цикли
Коли Gitflow не підходить
Gitflow надлишковий, якщо:
- маленька команда
- часті релізи
- CI/CD і continuous delivery
- швидкі ітерації
Коротка відповідь для співбесіди
Основна ідея Gitflow - розділити розробку, релізи і продакшн за допомогою окремих гілок (
develop,main,feature,release,hotfix), щоб зробити процес випуску коду керованим і передбачуваним.
Коротка відповідь
Для співбесідиPremium
Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.