# Версии и откат ## Соглашение | Что | Как | |-----|-----| | Версия в коде | `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`.