Я думаю, что это дизайн.Функция «ограничить, кто может выдвинуть на соответствующие ветви» ограничивает тех, кто может выдвинуть на ветку, но вы говорите:
Тем не менее, я все еще могу создать запрос на извлечение из любой ветвии слияние с защищенной ветвью.
Весь смысл защиты ветвей состоит в том, чтобы заставить код проходить процесс запроса на извлечение.Ограничение push-доступа не ограничивает pull-запросы.Это просто означает, что пользователи не могут git push
кодировать непосредственно в ветвь.
Вы также можете добавить необходимые проверки состояния перед объединением запросов на включение, например, для прохождения тестов, для одобрения определенного количества соавторов.запрос на извлечение для криптографической подписи коммитов и т. д.