Сведения о правилах защиты ветвей
Для определенной ветви, всех ветвей или любой ветви, которая соответствует шаблону имени, заданному с помощью синтаксиса fnmatch
, можно создать правило защиты ветви в репозитории. Например, чтобы защитить все ветви, содержащие слово release
, можно создать правило ветви для *release*
.
Вы можете создать правило для всех текущих и будущих ветвей в репозитории, используя синтаксис с подстановочным знаком *
. Так как в GitHub используется флаг File::FNM_PATHNAME
для синтаксиса File.fnmatch
, подстановочный знак не соответствует разделителям каталогов (/
). Например, qa/*
будет соответствовать всем ветвям, начинающимся с qa/
и содержащим одну косую черту. Вы можете включить несколько косых черт, используя синтаксис qa/**/*
, и расширить строку qa
в виде qa**/**/*
, чтобы сделать правило менее строгим. Дополнительные сведения о параметрах синтаксиса для правил в отношении ветвей см. в документации по fnmatch.
Если в репозитории настроено несколько правил защиты ветвей, относящихся к одним и тем же ветвям, наивысший приоритет имеют правила, в которых указано определенное имя ветви. Если определенное имя ветви указано в нескольких правилах защиты ветвей, то наивысший приоритет будет иметь правило, созданное первым.
Правила защиты ветвей, в которых используется специальный символ, например *
, ?
или ]
, применяются в порядке их создания, поэтому более старые правила с этими символами имеют более высокий приоритет.
Чтобы создать исключение из существующего правила защиты ветвей, можно создать новое правило с более высоким приоритетом, например правило для определенного имени ветви.
Дополнительные сведения о каждом из доступных параметров защиты ветви см. в разделе Сведения о защищенных ветвях.
Создание правила защиты ветвей
При создании правила защиты ветвей не обязательно, чтобы указанная ветвь уже существовала в репозитории.
-
На экземпляр GitHub Enterprise Server перейдите на главную страницу репозитория. 1. Под именем репозитория щелкните Параметры. Если вкладка "Параметры" не отображается, выберите раскрывающееся меню и выберите пункт Параметры.
-
В меню слева щелкните Ветви.
1. Рядом с пунктом "Правила защиты ветвей" щелкните Добавить правило. -
В разделе "Шаблон имени ветви" введите имя ветви или шаблон, которые требуется защитить.
-
При необходимости включите требуемые запросы на вытягивание.
- В разделе "Защита соответствующих ветвей" выберите Требовать запрос на вытягивание перед слиянием.
- Чтобы затребовать утверждения перед слиянием запроса на вытягивание, выберите параметр Требовать утверждения, откройте раскрывающееся меню Требуемое количество утверждений перед слиянием, а затем выберите количество утверждений, требуемое для ветви.
- При необходимости, чтобы пропустить утверждение запроса на вытягивание при отправке фиксации с изменением кода в ветвь, выберите параметр Пропускать устаревшие утверждения запросов на вытягивание при отправке новых фиксаций.
- Если необходимо требовать проверку владельцем кода в случае, если запрос на вытягивание влияет на код с назначенным владельцем, выберите параметр Требовать проверку владельцами кода. Дополнительные сведения см. в разделе О владельцах кода.
- При необходимости, чтобы разрешить определенным субъектам отправлять код в ветвь, не создавая запросы на вытягивание, когда это требуется, выберите Разрешить определенным субъектам пропускать создание запросов на вытягивание. Затем найдите и выберите субъекты, которым необходимо разрешить пропускать создание запроса на вытягивание. ! [Флажок Разрешить определенным субъектам обходить требования запроса на вытягивание] (/assets/images/help/repository/PR-bypass-requirements.png)
- Если репозиторий является частью организации, при необходимости выберите параметр Ограничить возможность пропуска проверок запросов на вытягивание. Затем найдите и выберите субъекты, которым разрешено закрывать проверки запросов на вытягивание. Дополнительные сведения см. в разделе Отклонение проверки запроса на вытягивание. ! [Флажок "Ограничить пользователей, которые могут отклонять проверки запросов на вытягивание]. (/assets/images/help/repository/PR-review-required-dismissals.png)
- В разделе "Защита соответствующих ветвей" выберите Требовать запрос на вытягивание перед слиянием.
-
При необходимости включите обязательные проверки состояния. Дополнительные сведения см. в разделе Сведения о проверках состояния.
- Выберите параметр Требовать прохождения проверок состояния перед слиянием.
- Чтобы запросы на вытягивание обязательно тестировались с использованием последнего кода в защищенной ветви, выберите параметр Требовать актуальности ветвей перед слиянием.
- Найдите проверки состояния и выберите нужные.
- Выберите параметр Требовать прохождения проверок состояния перед слиянием.
-
При необходимости выберите параметр Требовать устранения разногласий перед слиянием.
-
При необходимости выберите параметр Требовать подписания фиксаций.
-
При необходимости выберите параметр Требовать линейной истории.
-
При необходимости выберите Применить указанные выше правила к администраторам.
-
При необходимости включить ограничения ветви.
- Выберите параметр Ограничить пользователей, которые могут выполнять отправку в соответствующие ветви.
- Найдите и выберите пользователей, команды или приложения, которым будет разрешено выполнять отправку в защищенную ветвь или создать соответствующую ветвь.
- Выберите параметр Ограничить пользователей, которые могут выполнять отправку в соответствующие ветви.
-
При необходимости в разделе "Правила, применяемые ко всем, включая администраторов" выберите параметр Разрешить принудительную отправку.
Разрешить принудительные отправки Затем выберите, кто может принудительно отправлять в ветвь.-
Выберите вариант Все, чтобы разрешить всем, у кого есть по крайней мере разрешения на запись в репозиторий, включая администраторов, выполнять принудительную отправку в ветвь.
-
Выберите Указать, кто может выполнять принудительную отправку, чтобы разрешить выполнять принудительную отправку в ветвь только определенным субъектам. Затем найдите и выберите эти субъекты. ! [Снимок экрана: параметры для указания пользователей, которые могут принудительно отправлять данные] (/assets/images/help/repository/allow-force-pushes-specify-who.png)
Дополнительные сведения о принудительной отправке см. в разделе Сведения о защищенных ветвях.
-
-
При необходимости выберите параметр Разрешить удаление.
-
Нажмите кнопку Создать.
Изменение правила защиты ветвей
-
На экземпляр GitHub Enterprise Server перейдите на главную страницу репозитория. 1. Под именем репозитория щелкните Параметры. Если вкладка "Параметры" не отображается, выберите раскрывающееся меню и выберите пункт Параметры.
-
В меню слева щелкните Ветви.
-
Справа от правила защиты ветвей, которое нужно изменить, щелкните Изменить.
-
Внесите необходимые изменения в правило защиты ветвей.
-
Нажмите кнопку Сохранить изменения.
Удаление правила защиты ветвей
-
На экземпляр GitHub Enterprise Server перейдите на главную страницу репозитория. 1. Под именем репозитория щелкните Параметры. Если вкладка "Параметры" не отображается, выберите раскрывающееся меню и выберите пункт Параметры.
-
В меню слева щелкните Ветви.
-
Справа от правила защиты ветвей, которое нужно удалить, щелкните Удалить.