# Git Flow --- ## Ветки ``` main # Стабильная, production-ready develop # Интеграция фич feature/* # Новая функция (ветвится от develop) hotfix/* # Срочное исправление (ветвится от main) release/* # Подготовка релиза (ветвится от develop) ``` ### Когда какую ветку использовать | Ситуация | Ветка | Цель | |----------|-------|------| | Начало работы над фичой | `feature/idea-analysis` | develop | | Исправление бага в production | `hotfix/crash-on-empty` | main | | Подготовка релиза | `release/1.2.0` | main | | Эксперимент | `experiment/new-auth` | — | --- ## Conventional Commits ``` <тип>[optional scope]: <описание> [optional body] [optional footer] ``` ### Типы | Тип | Пример | Влияние на версию | |-----|--------|-------------------| | `feat` | `feat: add AI analysis endpoint` | MINOR | | `fix` | `fix: handle empty idea list` | PATCH | | `BREAKING` | `feat!: change API response format` | MAJOR | | `docs` | `docs: update README` | — | | `refactor` | `refactor: extract IdeaService` | — | | `test` | `test: add smoke tests for auth` | — | | `chore` | `chore: update dependencies` | — | ### Примеры ``` feat(api): add POST /ideas/{id}/analyze endpoint - Celery task for async analysis - Fallback to direct call if Celery unavailable - Store results in AgentReport table Closes #42 ``` ``` fix: validate email format on registration BREAKING: removed support for dotless emails ``` --- ## Commit Message ``` 50 символов: краткое описание (императив, без точки) 72 символа: тело коммита при необходимости. Можно писать несколько строк. - Каждый пункт с дефиса - Описываем ЧТО и ЗАЧЕМ, а не КАК ``` --- ## [ASK] Вопросы по Git - Git Flow или GitHub Flow? (GitHub Flow проще: main + feature/* + PR) - Нужны ли релизные ветки? (да, если несколько версий в поддержке) - Squash при merge? (рекомендуется: 1 PR = 1 коммит в develop)