Исправить ошибку 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 через мой браузер. Тогда все исправлено удивительно, и проблема разобралась !! Я упоминаю, что я был мастером, и филиал не был защищен.
Ответ 4
Попробуйте внести изменения по ссылке
https://docs.gitlab.com/ee/user/project/protected_branches.html
сделать проект незащищенным для сопровождающего или разработчика для вас
Ответ 5
Простое решение этой проблемы - быстрый чат с человеком, который имеет роль владельца в gitlab. Он может нажать один файл READ.md или аналогичный, чтобы просто начать с. Позже все будет работать как раньше.
Ответ 6
Я столкнулся с той же проблемой в моем хранилище. Я мастер репозитория, но у меня была такая ошибка.
Я снял защиту с моего проекта, а затем снова защитил его, и ошибка исчезла.
Мы обновили версию gitlab между моей предыдущей версией и проблемной. Я полагаю, что это обновление создало ошибку.
Ответ 7
Приведенные выше решения четко объясняют, в чем проблема; если у вас нет контроля над репо, лучший способ отправить свой код - это создать форк исходного репо и отправить свой код в этот новый репо, чтобы позже вы могли перенести его в исходный репо.
Ответ 8
Я был в Windows, когда появилась эта проблема.
Ошибка странная, потому что это происходит до того, как я смог ввести свое имя пользователя и пароль. Что делать, если был кеш или что-то подобное? Я покопался в Интернете и нашел этот ответ:
Я открываю "Панель управления => Учетные записи пользователей => Управление своими учетными данными => Учетные данные Windows" Я нашел два для https://@github.com и один не тот пользователь. Я удалил его, и на следующем "git push" меня повторно определили и предоставили правильные учетные данные, и это сработало! Некоторые другие заметки - это могло произойти с любым Git Remote.
В учетных данных Windows я нашел две записи GitLab для старой учетной записи. Я удаляю оба, и теперь это работает!
Панель:
![enter image description here]()