Используется git c тремя основными ветками master
, stage
, develop
. Их нужно создать при инициализации проекта.
У ведущего разработчика должны быть права напрямую пушить во все ветки.
Для разработчиков три главные ветки защищаются, чтобы сливать в них только через merge-request (pull-request).
develop
исполнителем создаётся новая ветка, именуется в формате feature/code-task-name
.feature/code-task-name
сливается с develop
через merge-request (запрос на слияние от исполнителя) в gitlab.develop
к ветке с задачей локально без запросов на слияния, правит конфликты, пушит комиты с правками в ветке задачи.develop
деплоится автоматически на dev-сервер, на котором проводятся тесты командой разработчиков, но клиенту dev-сервер не демонстрируется.develop
сливается в ветку stage
ведущим разработчиком.s89
.stage
деплоится на стейдж сервер, который доступен клиенту. На стейдж сервере проводится демо проекта.stage
так как параллельно может вестись работа по новому спринту в ветке develop
.
fix/code-bug-name
.stage
добавляется новый тег с минорным инкрементом, например: s89.01
.stage
с исправленными багами подливается в develop
.develop
не слиты в stage
, работы по новому спринту не начинаются.
develop
до релиза предыдущего спринта.stage
сливается в master
ведущим разработчиком.v89
.master
деплоится по согласию клиента на production сервер.master
для исправления каждого бага создаются ветки в формате hotfix/code-bug-name
.
master
добавляется тег с минорным инкрементом, напрмиер: v89.01
develop
или другой вариант — обновленная ветка master
подливается в develop
.stage
ветку. Чтобы после его слияния в master баги были учтены.