Разрешения в GitLab основываются на идее наличия разрешений на чтение или запись в репозиторий и ветки. Чтобы предотвратить внесение изменений в историю или загрузку кода без проверки, мы создали защищённые ветки.
По умолчанию защищённая ветка выполняет четыре простых действия:
См. раздел История изменений для просмотра изменений со временем.
Дополнительная функциональность для GitLab Enterprise Edition:
- Ограничение доступа к загрузке и слиянию [определённых пользователей][ee-restrict]
Чтобы защитить ветку, вам необходимо иметь разрешение уровня Master или выше. Обратите внимание, что ветка master
защищена по умолчанию.
Перейдите в раздел Настройки ➔ Репозиторий вашего проекта.
Прокрутите страницу до раздела Защищённые ветки.
Используйте выпадающее меню Ветка для выбора ветки, которую вы хотите защитить, и нажмите Защитить. На скриншоте ниже выбрана ветка develop
.
После завершения настройки защищенная ветка появится в списке "Защищенные ветки".
[Введено][ce-5081] в GitLab 8.11.
С версии GitLab 8.11 мы добавили еще один уровень защиты веток, что позволяет более детально управлять защищенными ветками. Опция "Разрешенные разработчики к загрузке" заменена на настройку "Разрешенные к загрузке", которая может быть установлена для разрешения/запрета загрузки для пользователей с разрешением Master и/или разработчиков.
Используя настройки "Разрешенные к загрузке" и "Разрешенные к слиянию", вы можете контролировать действия, которые могут выполнять различные роли с защищенной веткой. Например, вы можете установить "Разрешенные к загрузке" на "Никто", а "Разрешенные к слиянию" на "Разработчики + Masters", чтобы требовать от всех отправки запроса на слияние для изменений, вносимых в защищенную ветку. Это совместимо с рабочими процессами, такими как GitLab workflow. Однако, есть рабочие процессы, где это не требуется, и защита от принудительных пушей и удаления веток полезна. Для этих рабочих процессов вы можете разрешить всем пользователям с правом записи пушить в защищенную ветку, установив "Разрешено пушить" на "Разработчики + Мастера".Вы можете установить опции "Разрешено пушить" и "Разрешено мерджить" при создании защищённой ветки или позже, выбрав нужную опцию из выпадающего списка в разделе "Уже защищённые".
Если вы не выберете ни одну из этих опций при создании защищённой ветки, они будут установлены по умолчанию на "Мастер".
[Введено][ce-4665] в GitLab 8.10.
Вы можете указать защищённую ветку с маской, которая будет защищать все ветки, соответствующие маске. Например:
| Защищённая ветка с маской | Соответствующие ветки |
|---------------------------+--------------------------------------------------------|
| *-stable
| production-stable
, staging-stable
|
| production/*
| production/app-server
, production/load-balancer
|
| *gitlab*
| gitlab
, gitlab/staging
, master/gitlab/production
|
Настройки защищённой ветки (например, "Разработчики могут пушить") применяются ко всем соответствующим веткам.
Две разные маски могут потенциально соответствовать одной и той же ветке. Например,
*-stable
и production-*
будут соответствовать ветке production-stable
.
В этом случае, если любая из этих защищённых веток имеет настройку, такую как
"Разрешено пушить", то production-stable
также унаследует эту настройку.
Если вы нажмёте на имя защищённой ветки, вам будет предложен список всех
соответствующих веток:
[Введено][ce-21393] в GitLab 9.3.
Иногда может потребоваться удалить или очистить защищённые ветки.
Пользователи с [правами Мастера][perm] и выше могут вручную удалять защищённые ветки через веб-интерфейс GitLab:
Удаление защищённой ветки разрешено только через веб-интерфейс, а не через Git. Это означает, что вы не можете случайно удалить защищённую ветку с помощью командной строки или приложения-клиента Git.
9.2
8.11
8.10
---[ce-4665]: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/4665 "Разрешено использование шаблонов для указания защищенных веток" [ce-4892]: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/4892 "Разрешено разрешение разработчикам на слияние в защищенную ветку без права отправки" [ce-5081]: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/5081 "Разрешено создание защищенных веток, которые нельзя отправлять" [ce-21393]: https://gitlab.com/gitlab-org/gitlab-ce/issues/21393 [ee-restrict]: http://docs.gitlab.com/ee/user/project/protected_branches.html#ограничение-доступа-к-отправке-и-слиянию-для-определенных-пользователей [perm]: ../permissions.md
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )