docs: Add Git workflow rules to PROJECT_RULES.md

This commit is contained in:
DosAi 2025-11-02 16:28:09 +03:00
parent 6a81dd6b96
commit 7f4c198db5

View File

@ -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. ✅ Нет критических ошибок в консоли браузера
## Деплой на сервер
### Порядок действий: