Merge dev: Add Git workflow rules
This commit is contained in:
commit
0fb96f5a61
@ -49,18 +49,89 @@ registerCalculator(myCalculatorConfig);
|
|||||||
## Работа с Git
|
## Работа с Git
|
||||||
|
|
||||||
### Ветки:
|
### Ветки:
|
||||||
- `main` / `master` - продакшн
|
- `main` / `master` - продакшн (стабильная версия)
|
||||||
- `dev` - разработка
|
- `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`
|
1. Проверь линтер: `npm run lint`
|
||||||
2. Убедись, что сборка проходит: `npm run build`
|
2. Убедись, что сборка проходит: `npm run build`
|
||||||
3. Проверь типы: TypeScript должен компилироваться без ошибок
|
3. Проверь типы: TypeScript должен компилироваться без ошибок
|
||||||
|
|
||||||
|
### Перед слиянием в main:
|
||||||
|
1. ✅ Все изменения протестированы на сервере в `dev`
|
||||||
|
2. ✅ Линтер не выдает ошибок
|
||||||
|
3. ✅ Production build собирается успешно
|
||||||
|
4. ✅ Функционал работает корректно
|
||||||
|
5. ✅ Нет критических ошибок в консоли браузера
|
||||||
|
|
||||||
## Деплой на сервер
|
## Деплой на сервер
|
||||||
|
|
||||||
### Порядок действий:
|
### Порядок действий:
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user