Это именно та проблема, которая у меня возникла с Gitflow и GitHub, и кажется, что с веб-приложениями это происходит часто - или, скорее, как норма. Похоже, вы бы решили эту проблему задним числом (упомянуто выше) или упреждающим образом (пример ниже).
Я создал «ветки связки» в дополнение к стандартным веткам gitflow. Пакет состоит из всех функций, которые готовы для UAT / QA. Список функций uat / qa создан. Они объединяются во временный пакет, и этот пакет развертывается в uat / qa. Любое исправление ошибки происходит в исходной ветви функций, и это возвращается обратно в пакет и развертывается. Это отделяет грядущий выпуск, а также позволяет тестировать эти функции вместе, прежде чем они найдут путь к ветви разработки. Те ветки, которые одобрены, получают запрос на разработку в соответствии с процессом gitflow. Готовые тестовые функции могут быть добавлены или удалены из временной ветви пакета и повторно развернуты.
- Это позволяет мастеру всегда отражать состояние готовности к производству (можно автоматизировать с помощью крючка)
- Разработка всегда отражает последнюю поставленную (и протестированную) версию следующего кандидата
К минусам относятся управление списком комплектов и добавление веток другого типа; однако, кроме ретро-исправления, которое, я думаю, уже слишком поздно, кажется, что это более жизнеспособное решение.
С дополнением GUI, возможно, было бы оптимальным отметить галочки для ветвей компонентов для каждого развертывания пакета - с учетом автоматизации.