Предотвращение удаления веток при завершении PR
Действительно, снятие флажка Удалить после слияния является наиболее простым решением.
Однако мы иногда игнорируем проверку этой опции при частом пиаре. На данный момент этого варианта нам недостаточно.
Чтобы решить эту проблему, обходным путем является установить защиту ветви для целевой ветви (несколько ветвей функции для вашей ситуации):
В Azure Devops Branches
Вкладка -> нажмите кнопку …
для Feature
ветви -> Branch security
-> измените Force push (rewrite history, delete branches and tags)
на Deny
для пользователей и групп -> Сохранить изменения.
Тогда опция Удалить после слияния будет недоступна:
Примечание:
- Удалить исходную ветвь после слияния в окне завершения PR не проверяется / не выбирается по умолчанию, но на основе настроек последнего времени. Например, если вы отмените выбор опции сейчас, когда вы в следующий раз откроете окно завершения PR, опция Удалить исходную ветвь после слияния будет отменена.
- Точно так же, как сказал Дэниел, сохранение ветвей функций - это не нормальная операция, мы должны знать некоторые проблемы, которые могут возникнуть. Например, если мы выберем тип слияния
squash commit
и сохраним функциональные ветви при первом PR, мы получим конфликт при втором PR. Потому что мы сохраняем коммиты в ветви функций.
Надеюсь, это поможет.