Files
onGuard24/docs/VERSIONING.md

44 lines
1.2 KiB
Markdown

# Версии и откат
## Соглашение
| Что | Как |
|-----|-----|
| Версия в коде | `pyproject.toml``[project] version`, `onguard24/__init__.py``__version__` |
| Git-теги | Аннотированные: `v1.0.0`, `v1.1.0` (`git tag -a v1.0.0 -m "..."`) |
| Ветка по умолчанию | `main` |
Семвер ориентир:
- **MAJOR** — несовместимые изменения API или схемы БД.
- **MINOR** — новые фичи, обратная совместимость.
- **PATCH** — исправления без смены контракта.
## Откат к предыдущей версии
```bash
git fetch --tags
git checkout v1.0.0 # или нужный тег
# отладка / hotfix от тега
```
Новая ветка от старого тега:
```bash
git checkout -b hotfix/v1.0.1 v1.0.0
```
Сравнение версий:
```bash
git log v1.0.0..main --oneline
git diff v1.0.0..main
```
## Выпуск новой версии (чеклист)
1. Обновить `CHANGELOG.md`, `pyproject.toml`, `onguard24/__init__.py`.
2. `git commit -m "chore: release vX.Y.Z"`.
3. `git tag -a vX.Y.Z -m "Release vX.Y.Z"`.
4. `git push origin main --tags`.