docs: Add Git workflow rules to PROJECT_RULES.md
This commit is contained in:
parent
6a81dd6b96
commit
7f4c198db5
@ -49,18 +49,89 @@ registerCalculator(myCalculatorConfig);
|
||||
## Работа с Git
|
||||
|
||||
### Ветки:
|
||||
- `main` / `master` - продакшн
|
||||
- `dev` - разработка
|
||||
- `main` / `master` - продакшн (стабильная версия)
|
||||
- `dev` - разработка (активная разработка)
|
||||
|
||||
### Стандартный Workflow разработки
|
||||
|
||||
#### 1. Разработка в `dev`
|
||||
Все новые изменения разрабатываются в ветке `dev`:
|
||||
|
||||
```bash
|
||||
# Переключиться на dev
|
||||
git checkout dev
|
||||
|
||||
# Получить последние изменения с сервера
|
||||
git pull origin dev
|
||||
|
||||
# После внесения изменений
|
||||
git add .
|
||||
git commit -m "описание изменений"
|
||||
git push origin dev
|
||||
```
|
||||
|
||||
#### 2. Тестирование на сервере
|
||||
Перед слиянием в `main` обязательно тестируйте изменения на сервере:
|
||||
- Залить изменения на сервер (из `dev`)
|
||||
- Пересобрать фронтенд: `cd frontend && npm run build`
|
||||
- Перезапустить процессы: `pm2 restart dosoap-frontend dosoap-backend`
|
||||
- Проверить работу функционала
|
||||
|
||||
#### 3. Слияние в `main`
|
||||
После успешного тестирования слить `dev` в `main`:
|
||||
|
||||
```bash
|
||||
# Переключиться на main
|
||||
git checkout main
|
||||
|
||||
# Обновить локальную main
|
||||
git pull origin main
|
||||
|
||||
# Слить dev в main
|
||||
git merge dev --no-ff -m "Merge dev: краткое описание изменений"
|
||||
|
||||
# Отправить на сервер
|
||||
git push origin main
|
||||
```
|
||||
|
||||
**Важно**: Используйте флаг `--no-ff` для создания merge commit - это сохраняет историю разработки.
|
||||
|
||||
#### 4. Feature-ветки (для больших изменений)
|
||||
Для крупных изменений создавайте feature-ветки от `dev`:
|
||||
|
||||
```bash
|
||||
git checkout dev
|
||||
git checkout -b feature/new-calculator
|
||||
# Работаете в feature ветке
|
||||
git push origin feature/new-calculator
|
||||
# Когда готово - мержите в dev
|
||||
git checkout dev
|
||||
git merge feature/new-calculator
|
||||
git push origin dev
|
||||
```
|
||||
|
||||
### Коммиты:
|
||||
- Используй понятные сообщения коммитов
|
||||
- Используй понятные сообщения коммитов на русском или английском
|
||||
- Один коммит = одно логическое изменение
|
||||
- Формат: `тип: краткое описание`
|
||||
- `feat:` - новая функциональность
|
||||
- `fix:` - исправление ошибки
|
||||
- `docs:` - изменения в документации
|
||||
- `refactor:` - рефакторинг кода
|
||||
- `style:` - форматирование (без изменения логики)
|
||||
|
||||
### Перед коммитом:
|
||||
1. Проверь линтер: `npm run lint`
|
||||
2. Убедись, что сборка проходит: `npm run build`
|
||||
3. Проверь типы: TypeScript должен компилироваться без ошибок
|
||||
|
||||
### Перед слиянием в main:
|
||||
1. ✅ Все изменения протестированы на сервере в `dev`
|
||||
2. ✅ Линтер не выдает ошибок
|
||||
3. ✅ Production build собирается успешно
|
||||
4. ✅ Функционал работает корректно
|
||||
5. ✅ Нет критических ошибок в консоли браузера
|
||||
|
||||
## Деплой на сервер
|
||||
|
||||
### Порядок действий:
|
||||
|
||||
Loading…
Reference in New Issue
Block a user