44 lines
1.2 KiB
Markdown
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`.
|