Workflow: PR, ревью, Conventional Commits
GitHub Flow, хорошие pull request-ы, стандартные сообщения и semver.
Обновлено
Что такое workflow
Workflow — то, как команда организует ветки, ревью и выкладку. Самый популярный сегодня для веб-приложений — и тот, что Vercel поддерживает нативно, — GitHub Flow.
GitHub Flow по шагам
mainвсегда готов к деплою.- Для любого изменения создаёте ветку от
main. - Делаете коммиты и push.
- Открываете Pull Request (PR).
- Автоматически запускается CI (lint, тесты, сборка) + Vercel создаёт preview-деплой со своим URL.
- Коллеги делают ревью.
- Merge в
main→ автоматический деплой в продакшен.
Виды workflow — сравнение
| Workflow | Как выглядит | Когда |
|---|---|---|
| GitHub Flow | main + короткие ветки + PR |
веб-приложения с непрерывным деплоем — по умолчанию |
| Trunk-based | все делают маленькие коммиты прямо (или почти) в main, с feature flags |
зрелые команды, очень хороший CI |
| Git Flow | main, develop, release/*, hotfix/* |
продукты с редкими релизами (десктоп-приложения, библиотеки) — тяжеловесно для веба |
Хороший Pull Request
- Маленький — до ~400 изменённых строк; большие ревью становятся поверхностными.
- Понятный заголовок + описание: что, зачем, как проверяли, скриншоты для интерфейса.
- Одна тема — не смешивайте рефакторинг с фичей.
- Зелёный CI до запроса ревью.
Conventional Commits
Стандартный формат сообщений, понятный людям и инструментам:
<тип>(<необязательная область>): <описание>
feat(cart): добавить купоны на скидку
fix: правильно округлять сумму с НДС
docs: обновить README
refactor(auth)!: удалить старые сессии ← ! = breaking change
| Тип | Для |
|---|---|
feat |
новая функциональность |
fix |
исправленный баг |
docs |
документация |
refactor |
реструктуризация кода без изменения поведения |
test |
тесты |
chore |
зависимости, настройки, инструменты |
perf |
производительность |
Бонус: по ним можно автоматически генерировать changelog и версию (semver): fix → patch (1.0.1), feat → minor (1.1.0), ! → major (2.0.0).
Инструменты, которые держат качество
- CI (GitHub Actions): запускает lint, проверку типов, тесты, сборку на каждом PR.
- Branch protection на
main: запрещает прямой push, требует ревью + зелёный CI. - Pre-commit хуки (lefthook, husky): запускают lint/format перед коммитом.
Коротко
- GitHub Flow: ветка → PR → CI + preview → ревью → merge → деплой.
- Маленькие PR с контекстом; Conventional Commits для сообщений.
- Защитите
main: обязательные CI и ревью.