Мы переходим с TFS на Git (Azure DevOps), и мне неясно, какая стратегия лучше для следующего сценария:
У нас есть две истории в спринте.
- PBI-1: добавить функциональность XYZ
- PBI-2: расширить функциональность XYZ
Примечание:
- Каждый PBI будет быть достаточно «большим», то есть включать несколько коммитов и может включать несколько разработчиков
- PBI-2, очевидно, зависит от PBI-1 и не может запускаться, пока не будет завершен PBI-1
Также обратите внимание:
- У нас есть политика в нашей ветви 'Develop', согласно которой весь код должен быть утвержден утверждающим, прежде чем он может быть объединен в
- При объединении в 'Develop «мы выполняем« squa sh merge », а затем ветвь источника автоматически удаляется
Хорошо, так что из того, что я прочитал, мне кажется, что каждый PBI должен быть сам по себе «Feature Branch» (создается из ветви «Develop»). В таком случае, я предполагаю:
В начале Sprint мы создадим новую ветку функций из 'Develop' под названием "Feature / Add-XYZ".
Несколько разработчиков затем начали бы работу над этим, с обычным потоком ежедневного перебазирования ( примечание : см. Комментарий ниже относительно того, почему бы не использовать перебазирование) из «развернуть», регулярных коммитов и толчков к серверная версия ветки «Feature / Add-XYZ» (в DevOps).
Когда вся работа над PBI-1 завершена и весь код передан на сервер, запрос на извлечение будет создан и отправлен на Approver.
Однако утверждающий очень занят и может не получить запрос на извлечение в течение нескольких дней; мы не хотим, чтобы это было препятствием, поэтому как команде следует начинать со следующего PBI, помня:
- PBI-2 зависит от кода, размещенного в ветке "Feature / Add- XYZ "
- Ветка" Feature / Add-XYZ "будет удалена, как только процесс утверждения будет завершен
Я предполагаю, что:
- Создайте новую ветку от «master» под названием «Feature / Extend-XYZ» (он не будет содержать никакого кода, связанного с XYZ, поскольку он все еще находится в ветке «Feature / Add-XYZ»)
- Затем мне нужно будет «скопировать» соответствующий код из ветви «Feature / Add-XYZ» в «Feature / Extend-XYZ».
Если это правильный способ go, тогда каков рекомендуемый способ выполнения шага 2? Это простое «Слияние с»?