#github #merge #push #branch #protected
#github #слияние #толкать #ветка #защищено
Вопрос:
Я пытаюсь настроить репозиторий GitHub таким образом, чтобы только определенные пользователи могли переходить к определенной ветке.
Имя шаблона ветки соответствует ветке, которую я хочу ограничить.
Вот снимок экрана с настройками защищенной ветви:
Тем не менее, я все еще могу создать запрос на извлечение из любой ветки и выполнить слияние с защищенной веткой.
Это организационный репозиторий, в котором у меня есть права администратора. Может ли только сопровождающий организации изменять защищенные настройки филиала? Есть ли что-то еще, что необходимо настроить?
Ответ №1:
Я думаю, что это сделано специально. Функция «ограничить, кто может переходить к соответствующим ветвям» ограничивает, кто может переходить к ветке, но вы говорите
Тем не менее, я все еще могу создать запрос на извлечение из любой ветки и выполнить слияние с защищенной веткой.
Весь смысл защиты ветвей заключается в том, чтобы заставить код проходить через процесс запроса на извлечение. Ограничение принудительного доступа не ограничивает запросы на извлечение. Это просто означает, что пользователи не могут git push
кодировать непосредственно в ветке.
Вы также можете добавить необходимые проверки состояния перед объединением запросов на извлечение, например, для прохождения тестов, для одобрения запроса на извлечение определенным количеством участников, для криптографической подписи коммитов и т.д.
Комментарии:
1. Пользователь может создавать запросы на извлечение и выполнять слияние непосредственно с защищенной веткой, даже если у него не должно быть такой возможности. В ветке также установлены проверки состояния require.
2. Хорошо, но настроены ли у вас какие-либо проверки состояния? Инструмент CI, например? Опять же, ограничение push не влияет на слияние по запросу pull. Это для отправки непосредственно в ветку.
3. Итак, Github не настраивается для ограничения того, какие пользователи могут создавать запросы на извлечение для определенной ветки.?
4. @grebwerd, это правильно. Хотя вы можете потребовать, чтобы запросы на извлечение были одобрены, даже более чем одним человеком, прежде чем их можно будет объединить . И вы можете настроить владельцев кода для определенных каталогов или типов файлов , от которых может потребоваться утверждение запросов на извлечение принадлежащего им кода перед его объединением. Именно этот этап утверждения и другие вещи, такие как «требуется, чтобы ветвь была актуальной» и CI, определяют, может ли PR быть объединен.
5. Спасибо за вашу помощь, Крис.