Skip to main content

Управление правилом защиты ветвей

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

Who can use this feature

People with admin permissions to a repository can manage branch protection rules.

Защищенные ветви доступны в общедоступных репозиториях при использовании GitHub Free и GitHub Free для организаций, а также в общедоступных и частных репозиториях при использовании GitHub Pro, GitHub Team, GitHub Enterprise Cloud и GitHub Enterprise Server.

Сведения о правилах защиты ветвей

Для определенной ветви, всех ветвей или любой ветви, которая соответствует шаблону имени, заданному с помощью синтаксиса fnmatch, можно создать правило защиты ветви в репозитории. Например, чтобы защитить все ветви, содержащие слово release, можно создать правило ветви для *release*.

Вы можете создать правило для всех текущих и будущих ветвей в репозитории, используя синтаксис с подстановочным знаком *. Так как в GitHub используется флаг File::FNM_PATHNAME для синтаксиса File.fnmatch, подстановочный знак не соответствует разделителям каталогов (/). Например, qa/* будет соответствовать всем ветвям, начинающимся с qa/ и содержащим одну косую черту. Вы можете включить несколько косых черт, используя синтаксис qa/**/*, и расширить строку qa в виде qa**/**/*, чтобы сделать правило менее строгим. Дополнительные сведения о параметрах синтаксиса для правил в отношении ветвей см. в документации по fnmatch.

Если в репозитории настроено несколько правил защиты ветвей, относящихся к одним и тем же ветвям, наивысший приоритет имеют правила, в которых указано определенное имя ветви. Если определенное имя ветви указано в нескольких правилах защиты ветвей, то наивысший приоритет будет иметь правило, созданное первым.

Правила защиты ветвей, в которых используется специальный символ, например *, ? или ], применяются в порядке их создания, поэтому более старые правила с этими символами имеют более высокий приоритет.

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

Дополнительные сведения о всех доступных параметрах защиты ветвей см. в разделе Сведения о защищенных ветвях.

Создание правила защиты ветвей

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

  1. На your GitHub Enterprise Server instance перейдите на главную страницу репозитория. 1. Нажмите Параметры под именем репозитория. Кнопка параметров репозитория

  2. В разделе "Код и автоматизация" боковой панели щелкните Ветви .

  3. Нажмите кнопку Добавить правило рядом с пунктом "Правила защиты ветвей".  Кнопка для добавления правила защиты ветвей

  4. В разделе "Шаблон имени ветви" введите имя ветви или шаблон, которые требуется защитить. Поле правила ветви

  5. При необходимости включите требуемые запросы на вытягивание.

    • В разделе "Защита соответствующих ветвей" выберите Требовать запрос на вытягивание перед слиянием. Флажок обязательной проверки запроса на вытягивание
    • Чтобы затребовать утверждения перед слиянием запроса на вытягивание, выберите параметр Требовать утверждения, откройте раскрывающееся меню Требуемое количество утверждений перед слиянием, а затем выберите количество утверждений, требуемое для ветви. Раскрывающееся меню для выбора требуемого количества утверждений
    • При необходимости, чтобы пропустить утверждение запроса на вытягивание при отправке фиксации с изменением кода в ветвь, выберите параметр Пропускать устаревшие утверждения запросов на вытягивание при отправке новых фиксаций. Флажок "Пропускать устаревшие утверждения запросов на вытягивание при отправке новых фиксаций"
    • Если необходимо требовать проверку владельцем кода в случае, если запрос на вытягивание влияет на код с назначенным владельцем, выберите параметр Требовать проверку владельцами кода. Дополнительные сведения см. в разделе Сведения о владельцах кода. Требовать проверку от владельцев кода
    • При необходимости, чтобы разрешить определенным субъектам отправлять код в ветвь, не создавая запросы на вытягивание, когда это требуется, выберите Разрешить определенным субъектам пропускать создание запросов на вытягивание. Затем найдите и выберите субъекты, которым необходимо разрешить пропускать создание запроса на вытягивание. Флажок для разрешения определенным субъектам обходить требования запроса на вытягивание
    • Если репозиторий является частью организации, при необходимости выберите параметр Ограничить возможность пропуска проверок запросов на вытягивание. Затем найдите и выберите субъекты, которым разрешено закрывать проверки запросов на вытягивание. Дополнительные сведения см. в разделе Пропуск проверки запроса на вытягивание. ! [Флажок "Ограничить пользователей, которые могут отклонять проверки запросов на вытягивание]. (/assets/images/help/repository/PR-review-required-dismissals-with-apps.png)
  6. При необходимости включите обязательные проверки состояния. Дополнительные сведения см. в разделе Сведения о проверках состояния.

    • Выберите параметр Требовать прохождения проверок состояния перед слиянием. Параметр обязательных проверок состояния
    • Чтобы запросы на вытягивание обязательно тестировались с использованием последнего кода в защищенной ветви, выберите параметр Требовать актуальности ветвей перед слиянием. Флажок обязательного или необязательного состояния
    • Найдите проверки состояния и выберите нужные. Интерфейс поиска доступных проверок состояния со списком обязательных проверок
  7. При необходимости выберите параметр Требовать устранения разногласий перед слиянием. Параметр "Требовать устранения разногласий перед слиянием"

  8. При необходимости выберите параметр Требовать подписания фиксаций. Параметр "Требовать подписания фиксаций"

  9. При необходимости выберите параметр Требовать линейной истории. Параметр "Требовать линейной истории"

  10. Если необходимо выбрать среды, в которых изменения должны быть успешно развернуты перед слиянием, выберите параметр Требовать успешного развертывания перед слиянием, а затем выберите среды. Требовать успешное развертывание

  11. При необходимости выберите Применить указанные выше правила к администраторам. Флажок "Применить указанные выше правила к администраторам"

  12. При необходимости включить ограничения ветви.

    • Выберите параметр Ограничить пользователей, которые могут выполнять отправку в соответствующие ветви. Флажок для ограничения ветви
    • Найдите и выберите пользователей, команды или приложения, которым будет разрешено выполнять отправку в защищенную ветвь или создать соответствующую ветвь. Поиск ограничений для ветви
  13. При необходимости в разделе "Правила, применяемые ко всем, включая администраторов" выберите параметр Разрешить принудительную отправку. Разрешить принудительные отправки Затем выберите, кто может принудительно отправлять в ветвь.

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

    • Выберите Указать, кто может выполнять принудительную отправку, чтобы разрешить выполнять принудительную отправку в ветвь только определенным субъектам. Затем найдите и выберите эти субъекты. Снимок экрана: параметры для указания пользователей, которые могут выполнять принудительную отправку

      Дополнительные сведения о принудительной отправке см. в разделе Разрешение принудительной отправки.

  14. При необходимости выберите параметр Разрешить удаление. Параметр для разрешения удаления ветвей

  15. Нажмите кнопку Создать.

Изменение правила защиты ветвей

  1. На your GitHub Enterprise Server instance перейдите на главную страницу репозитория. 1. Нажмите Параметры под именем репозитория. Кнопка параметров репозитория

  2. В разделе "Код и автоматизация" боковой панели щелкните Ветви .

  3. Справа от правила защиты ветвей, которое нужно изменить, щелкните Изменить. Кнопка "Изменить"

  4. Внесите необходимые изменения в правило защиты ветвей.

  5. Нажмите кнопку Сохранить изменения. Кнопка "Сохранить изменения"

Удаление правила защиты ветвей

  1. На your GitHub Enterprise Server instance перейдите на главную страницу репозитория. 1. Нажмите Параметры под именем репозитория. Кнопка параметров репозитория

  2. В разделе "Код и автоматизация" боковой панели щелкните Ветви .

  3. Справа от правила защиты ветвей, которое нужно удалить, щелкните Удалить. Кнопка "Удалить"