Это не относится только к DevOps Azure. Это просто проблема с мерзавцем. У вас есть несколько вариантов на данный момент.
1. Выбор Cherry может работать.
В зависимости от того, как ветви объектов были объединены, вы могли бы выбирать только изменения, которые объединяли F1 и F3 . Это может быть сложно, если F2 коснулся тех же файлов, что и F3.
2. Создание новой ветви для слияния с выпуском
Создание ветви из 'Develop' незадолго до слияния F1 & 2 & 3 и слияния F1 и F3 в этой новой ветви, а затем слияние в master.
3. Возврат F2 в разработке
Компенсирует изменения, внесенные F2, возвращая их при 'разработке' и затем сливая их в master.
4. Интерактивная перебазировка разработки.
Вы можете изменить историю ветки разработки с помощью интерактивной перебазировки. В операции rebase отбросьте изменения, введенные F2. Затем либо принудительно нажмите «развернуть», либо добавьте новую ветку перед объединением с мастером.
В конце концов, это, в конце концов, не может быть проблемой мерзавца. Но проблема планирования. Почему F2 был объединен в первую очередь? Что случилось, что привело к дальнейшему отказу от этого процесса? Почему F3 был объединен до принятия F2?