Конфигурация филиала, защищенного репозиторием Github, не работает

#github #merge #push #branch #protected

#github #слияние #толкать #ветка #защищено

Вопрос:

Я пытаюсь настроить репозиторий GitHub таким образом, чтобы только определенные пользователи могли переходить к определенной ветке.

Имя шаблона ветки соответствует ветке, которую я хочу ограничить.

Вот снимок экрана с настройками защищенной ветви:

введите описание изображения здесь

Тем не менее, я все еще могу создать запрос на извлечение из любой ветки и выполнить слияние с защищенной веткой.

Это организационный репозиторий, в котором у меня есть права администратора. Может ли только сопровождающий организации изменять защищенные настройки филиала? Есть ли что-то еще, что необходимо настроить?

Ответ №1:

Я думаю, что это сделано специально. Функция «ограничить, кто может переходить к соответствующим ветвям» ограничивает, кто может переходить к ветке, но вы говорите

Тем не менее, я все еще могу создать запрос на извлечение из любой ветки и выполнить слияние с защищенной веткой.

Весь смысл защиты ветвей заключается в том, чтобы заставить код проходить через процесс запроса на извлечение. Ограничение принудительного доступа не ограничивает запросы на извлечение. Это просто означает, что пользователи не могут git push кодировать непосредственно в ветке.

Вы также можете добавить необходимые проверки состояния перед объединением запросов на извлечение, например, для прохождения тестов, для одобрения запроса на извлечение определенным количеством участников, для криптографической подписи коммитов и т.д.

Комментарии:

1. Пользователь может создавать запросы на извлечение и выполнять слияние непосредственно с защищенной веткой, даже если у него не должно быть такой возможности. В ветке также установлены проверки состояния require.

2. Хорошо, но настроены ли у вас какие-либо проверки состояния? Инструмент CI, например? Опять же, ограничение push не влияет на слияние по запросу pull. Это для отправки непосредственно в ветку.

3. Итак, Github не настраивается для ограничения того, какие пользователи могут создавать запросы на извлечение для определенной ветки.?

4. @grebwerd, это правильно. Хотя вы можете потребовать, чтобы запросы на извлечение были одобрены, даже более чем одним человеком, прежде чем их можно будет объединить . И вы можете настроить владельцев кода для определенных каталогов или типов файлов , от которых может потребоваться утверждение запросов на извлечение принадлежащего им кода перед его объединением. Именно этот этап утверждения и другие вещи, такие как «требуется, чтобы ветвь была актуальной» и CI, определяют, может ли PR быть объединен.

5. Спасибо за вашу помощь, Крис.