SHA256
3.2 KiB
3.2 KiB
Правила коммитов, 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.