У чому суть Feature Branch Workflow?
Feature Branch Workflow - це Git workflow, при якому кожна нова задача (фіча, багфікс, покращення) розробляється в окремій гілці, а основна гілка завжди залишається стабільною.
Простіше кажучи: «Одна задача - одна гілка».
Суть Feature Branch Workflow
Головна ідея:
main(абоmaster) - стабільний код- для кожної задачі створюється окрема feature-гілка
- розробка ведеться тільки у feature-гілках
- код потрапляє в
mainчерез Pull Request
Типовий процес роботи
- Створюємо гілку від
main
bash
git checkout -b feature/login- Працюємо над задачею і робимо коміти
bash
git commit- Пушимо гілку у віддалений репозиторій
bash
git push origin feature/login- Відкриваємо Pull Request у
main
- проходить code review
- запускаються тести / CI
- Вливаємо зміни в
main - Видаляємо feature-гілку
Чому цей workflow настільки популярний
Ізоляція задач
- кожна фіча розробляється окремо
- зміни не заважають іншим
- можна безпечно експериментувати
Безпека основної гілки
mainзавжди в робочому стані- не можна випадково зламати продакшн
Зручний code review
- увесь код задачі зібраний в одному Pull Request
- легко зрозуміти, що і навіщо змінювалося
Добре масштабується
- підходить для маленьких і великих команд
- легко додати правила: CI, approvals, лінтери
Merge або rebase у Feature Branch Workflow
Зазвичай:
- merge виконується через Pull Request
- rebase використовується локально, щоб оновити feature-гілку
Важливо:
mainніколи не ребейзять
Плюси і мінуси
Плюси
- простий і зрозумілий
- безпечний
- відмінно працює з Pull Request
- де-факто стандарт у галузі
Мінуси
- з'являється багато гілок
- без дисципліни feature-гілки можуть жити занадто довго
- історія може містити merge-коміти
Короткий відповідь для співбесіди
Feature Branch Workflow - це підхід, при якому кожна задача розробляється в окремій гілці, а зміни потрапляють в основну гілку тільки через Pull Request, що забезпечує ізоляцію, ревʼю та стабільність.
Коротка відповідь
Для співбесідиPremium
Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.