Какую модель ветвления Git (GitFlow) вы использовали на предыдущем проекте?

«Какую модель ветвления Git (GitFlow) вы использовали на предыдущем проекте?» — вопрос из категории DevOps, который задают на 10% собеседований IOS Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

На проекте применялась адаптированная модель GitFlow. Основные долгоживущие ветки и их назначение:

  • main (master) — отражает состояние продакшн-среды.
  • develop — основная ветка для интеграции новой функциональности.

Ветки для разработки:

  1. *`feature/** — создаются отdevelopдля разработки новой функциональности. После завершения мержатся обратно вdevelop`.
    git checkout develop
    git checkout -b feature/user-profile
    # Коммиты...
    git push origin feature/user-profile
  2. *`release/** — создаются отdevelopдля подготовки релиза (финальное тестирование, исправление багов). После готовности мержатся вmainиdevelop`.
  3. *`hotfix/** — создаются отmainдля срочных исправлений в продакшне. Мержатся вmainиdevelop`.

Практика: Использовали Pull/Merge Request с обязательным код-ревью перед слиянием в develop или main. Инструменты (GitHub/GitLab) помогали автоматизировать проверки (CI).