Исправить ошибку GitLab: "Вы не можете отправить код в защищенные ветки этого проекта"?

У меня проблема, когда я нажимаю свои коды на git, в то время как у меня есть доступ к разработчику в моем проекте, но все нормально, когда у меня есть главный доступ. Где проблема? И как это исправить?

Сообщение об ошибке:

Ошибка: вам не разрешено вводить код в защищенные ветки в этом проекте.
...
Ошибка: не удалось нажать несколько ссылок на...

Ответ 1

нет проблем - все работает как положено.

В GitLab некоторые ветки могут быть защищены. По умолчанию только пользователи Maintainer/Owner могут фиксировать защищенные ветки (см. Документы по разрешениям). master ветвь защищена по умолчанию - она заставляет разработчиков выдавать запросы на слияние, которые должны быть проверены сопровождающими проекта, прежде чем интегрировать их в основной код.

Вы можете включать и выключать защиту для выбранных веток в настройках проекта (где точно зависит от версии GitLab - см. Инструкции ниже).

На той же странице настроек вы также можете разрешить разработчикам проталкивать защищенные ветки. С этой настройкой защита будет ограничена отклонением операций, требующих git push --force (перебазирование и т.д.)

Начиная с GitLab 9.3

Перейти к проекту: "Настройки" → "Хранилище" → "Развернуть" на "Защищенные ветки"

enter image description here

Я не совсем уверен, когда это изменение было введено, скриншоты из версии 10.3.

Теперь вы можете выбрать, кому разрешено объединять или вставлять в выбранные ветки (например: вы можете вообще отключить толчки для master, заставляя все изменения в ветки делать через запросы на слияние). Или вы можете нажать "Снять защиту", чтобы полностью снять защиту с ветки.

Начиная с GitLab 9.0

Аналогично GitLab 9.3, но не нужно нажимать "Развернуть" - все уже развернуто:

Перейдите в проект: "Настройки" → "Хранилище" → прокрутите вниз до "Защищенные ветки".

enter image description here

Pre GitLab 9.0

Проект: "Настройки" → "Защищенные ветки" (если вы хотя бы "Мастер" данного проекта).

Settings → Protected branches

Затем нажмите "Снять защиту" или "Разработчики могут нажать":

enter image description here

Ответ 2

для GitLab Enterprise Edition 9.3.0

По умолчанию главная ветвь защищена поэтому снимите защиту:)

1 - выберите "проект"

2-Выберите "Репозиторий"

3-Выберите "ветки"

4-Выберите "Настройки проекта"

5-In "Защищенные ветки" нажмите, чтобы развернуть

6 - и после нажатия кнопки "Снять защиту"

Ответ 3

Я столкнулся с этой ошибкой в "пустой ветке" на моем локальном сервере gitlab. Некоторые люди упоминали, что "вы не можете впервые нажать на пустую ветку". Я попытался создать простой файл README на gitlab через мой браузер. Тогда все исправлено удивительно, и проблема разобралась !! Я упоминаю, что я был мастером, и филиал не был защищен.

Ответ 5

Простое решение этой проблемы - быстрый чат с человеком, который имеет роль владельца в gitlab. Он может нажать один файл READ.md или аналогичный, чтобы просто начать с. Позже все будет работать как раньше.

Ответ 6

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

Я снял защиту с моего проекта, а затем снова защитил его, и ошибка исчезла.

Мы обновили версию gitlab между моей предыдущей версией и проблемной. Я полагаю, что это обновление создало ошибку.

Ответ 7

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

Ответ 8

Я был в Windows, когда появилась эта проблема.

Ошибка странная, потому что это происходит до того, как я смог ввести свое имя пользователя и пароль. Что делать, если был кеш или что-то подобное? Я покопался в Интернете и нашел этот ответ:

Я открываю "Панель управления => Учетные записи пользователей => Управление своими учетными данными => Учетные данные Windows" Я нашел два для https://@github.com и один не тот пользователь. Я удалил его, и на следующем "git push" меня повторно определили и предоставили правильные учетные данные, и это сработало! Некоторые другие заметки - это могло произойти с любым Git Remote.

В учетных данных Windows я нашел две записи GitLab для старой учетной записи. Я удаляю оба, и теперь это работает!

Панель:

enter image description here