SHA256
Документация: вынести правила коммитов и версий
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
# Правила коммитов, merge и версионирования
|
||||
|
||||
Этот файл является единым источником правил для:
|
||||
- коммитов;
|
||||
- merge в `main`;
|
||||
- изменения версий в `VERSION.properties`;
|
||||
- `git push` из этого репозитория.
|
||||
|
||||
## Язык
|
||||
|
||||
- Пояснения к коммитам, PR и merge-запросам писать на русском языке.
|
||||
|
||||
## Где хранится версия
|
||||
|
||||
- Единый файл версий проекта: `VERSION.properties` в корне репозитория.
|
||||
- Основные поля:
|
||||
- `client.version` — версия клиентского UI.
|
||||
- `server.version` — версия серверной части.
|
||||
|
||||
## Базовое правило для обычных коммитов
|
||||
|
||||
- Перед каждым новым коммитом обязательно обновлять версии в `VERSION.properties`.
|
||||
- Если менялся только UI, увеличивать только `client.version`.
|
||||
- Если менялся только сервер, увеличивать только `server.version`.
|
||||
- Если менялись и UI, и сервер, увеличивать обе версии.
|
||||
- Для обычных коммитов вне `main` использовать стандартный patch-инкремент: `+1` к последнему числовому сегменту.
|
||||
- Пример: `1.2.346` → `1.2.347`.
|
||||
|
||||
## Правило для `main`
|
||||
|
||||
- Ветка `main` предназначена только для стабильных версий.
|
||||
- По умолчанию в `main` нужно не коммитить напрямую, а мержить готовые изменения из рабочей ветки.
|
||||
- Если пользователь просит сделать прямой коммит в `main`, нужно отдельно и явно предупредить, что это обход обычного стабильного процесса, и обязательно переспросить подтверждение.
|
||||
|
||||
## Версионирование при merge или прямом коммите в `main`
|
||||
|
||||
- Для попадания изменений в `main` действует отдельная схема инкремента.
|
||||
- Нужно увеличивать вторую цифру версии и обнулять третью.
|
||||
- Пример: `1.2.346` → `1.3.0`.
|
||||
- Если в наборе изменений менялся только UI, обновлять только `client.version`.
|
||||
- Если в наборе изменений менялся только сервер, обновлять только `server.version`.
|
||||
- Если соответствующая часть не менялась, её версию не трогать.
|
||||
|
||||
## Правила для git commit и git push
|
||||
|
||||
- Обычные коммиты делать стандартным `git commit`; токен для локального коммита не нужен и не используется.
|
||||
- Для операций `git push` при необходимости использовать токен из переменной окружения `$GITEA_TOKEN`.
|
||||
Reference in New Issue
Block a user