Git ветвление модели стратегии

Мы пытаемся следоватьgitflow ветвящаяся модель, но с изюминкой.

У нас есть четыре серверных среды, в которых продукт может быть развернут, каждый сервер выполняет свою задачу: разработка, внутреннее тестирование, внешнее тестирование и производство.

DevServerгде разработчики тестируют свои различные функции при разработке. Разработчики не могут тестировать локально на своих машинах, они должны внести свои изменения в DevServer, чтобы иметь возможность тестироватьTestServerгде QA тестеры тестируют несколько функций, как только разработчики закончилиReleaseServerгде релизы тестируются изолированно, прежде чем переносить их в производствоProductionServer, Производственный сервер

Мы пытаемся сделать процесс слияния / разрешения конфликтов максимально простым, поэтому мы создали две дополнительные ветви, которые не являются частью модели gitflow.

Нормальные ветки gitflow

развиватьмастер (соответствует «ProductionServer»)featureXXXreleaseXXX (еженедельные выпуски развертываются на 'ReleaseServer')

Но также эти две ветви, которые не являются стандартными и, возможно, должны измениться ...

Dev-релиз (копия DevServer)Тест-релиз (копия TestServer)

Тогда процесс будет следующим:

разработчик создать свой «featureXXX» из «Develop»несколько разработчиков объединяют свои различные «функции» в ветку «dev-release», а ветка «dev-release» выпускается в «DevServer», где все разработчики могут затем протестировать свои различные функции. Не все эти функции будут в том же следующем выпускеКак только разработчики довольны разработкой, описанной выше, они объединяют свой «featureXXX» с веткой «test-release», и это развертывается в «TestServer». Не все функции здесь будут частью той же следующей версии.После того, как тестирование на TestServer завершено для featureXXX, разработчик может закрыть их FeatureXXX для «разработки».Затем разработчик либо создает новый «releaseXXX», либо объединяет их «featureXXX» в существующий «releaseXXX».Ветвь releaseXXX развернута на ReleaseServer и протестирована.После того, как тестирование «releaseXXX» завершено, «releaseXXX» объединяется с разработчиком и мастером и развертывается на «ProductionServer».

Мы испортили всю модель gitflow?

Вот наш процесс раскрутки:

Ответы на вопрос(2)

Ваш ответ на вопрос