Вы должны следовать стандарту Git Flow :
Вместо объединения какой-либо функциив ветку release
(от develop
) после тестирования вам нужно будет использовать «сокращение выпуска».Это выделенный момент времени, когда вы решаете, что хотите сделать релиз.Функции, которые планируется включить в этот выпуск, оцениваются и тестируются, и выпуск подтверждается.
Вам понадобится tag
вашими выпусками ипри желании включить любые активы, которые связаны с этим выпуском для дальнейшего использования.Если это мобильное приложение, это отличное место для добавления .apk
или .ipa
.После того, как сокращение выпуска было сделано и помечено, вы захотите выпустить ветку release
в производство .Как только это будет развернуто в производство, вы захотите объединить release
с master
и develop
.
. При таком подходе каждая feature
ветвьзакончится в develop
, затем release
(с соответствующим tag
), затем master
.Если функция все еще выполняется, когда сделано сокращение выпуска, оно просто не делает сокращение!Он будет добавлен в следующий релиз.Это даст ему достаточно времени для тестирования, прежде чем оно приблизится к release
, не говоря уже о master
.В связи с этим, master
должно быть простым представлением вашего последнего известного «хорошего состояния» - точки, в которой вы были рады сообщить общественности.
Также обратите внимание, что hotfixes
иbugfixes
- это две разные вещи, и ни не должны переходить от develop
.Исправления должны быть внесены в саму ветку release
, а hotfixes
должен быть создан из master
и объединен в оба master
и develop
.