Ветки
- master — продакшен, только стабильные релизы
- dev — активная разработка, любое количество коммитов
- master ← dev
Основные правила
- ❌ Не коммитить напрямую в
master - ✅ Вся разработка ведётся в
dev - ✅ В
masterпопадает только готовый код - ✅ После каждого релиза синхронизировать
devсmaster
Первичная настройка (один раз)
bash
- git checkout master
- git pull
- git checkout -b dev
- git push -u origin dev
Ежедневная работа
Работаем только в dev:
bash
git checkout dev
git add .
git commit -m "feat: add hero slider fade"
git push
Количество коммитов и пушей не ограничено.
Релиз в продакшен
Когда код готов:
bash
git checkout master
git pull
git merge dev
git push
Создание тега релиза:
bash
git tag v1.0.0
git push origin v1.0.0
Синхронизация после релиза (обязательно)
bash
git checkout dev
git merge master
Это предотвращает конфликты и рассинхронизацию веток.
Хотфикс в продакшене
Если нужно срочно исправить баг:
bash
git checkout master
Правки
git commit -m "fix: critical production bug" git push
git checkout dev
git merge master
Чистый релиз (опционально)
Если в dev много WIP-коммитов:
bash
git checkout master
git merge --squash dev
git commit -m "release: v1.2.0"
git push
В master будет один аккуратный коммит.
Рекомендуемый формат коммитов
feat: новая функциональность
fix: исправление бага
refactor: переработка без изменения логики
chore: технические изменения
wip: незавершённая работа
Кратко (TL;DR)
- Работа →
dev - Релиз → merge в
master - Пушей в
dev— сколько угодно master— только стабильный код- Использовать теги релизов
