Compare commits
No commits in common. "0fb96f5a61480d756e2c265602c7f1eec1a3c84e" and "9fd81a975869538942f4950c4daf7d1e5da46c84" have entirely different histories.
0fb96f5a61
...
9fd81a9758
@ -49,89 +49,18 @@ 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