2016-12-18 2 views
1

Запуск следующего:GitLab отказывается толкать освоить хотя я владелец проекта

  • GitLab 8.15.0-rc1
  • GitLab Shell 4.0.3
  • GitLab Workhorse v1.1.1
  • GitLab API v3
  • Git 2.11.0
  • Рубин 2.3.3p222
  • Rails 4.2.7.1
  • PostgreSQL 9.2.18

Я создал проект внутри GitLab и подтолкнул мой код на там без проблем. Я являюсь владельцем проекта и имею роль «Мастер» с проектом.

Филиал 'master' устанавливается как «защищенная ветвь» по умолчанию, позволяя только членам группы с ролью «Мастер» сливаться и нажимать на эту ветку.

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

Однако, когда я совершаю и давить на эти изменения, я получаю следующее сообщение об ошибке:

D:\Projects\MyProject>git push 
Counting objects: 8, done. 
Delta compression using up to 8 threads. 
Compressing objects: 100% (8/8), done. 
Writing objects: 100% (8/8), 731 bytes | 0 bytes/s, done. 
Total 8 (delta 7), reused 0 (delta 0) 
remote: GitLab: You are not allowed to force push code to a protected branch on this project. 
To https://git.****.**/*****/****.git 
! [remote rejected] master -> master (pre-receive hook declined) 
error: failed to push some refs to 'https://git.****.**/*****/****.git' 

Не уверен, что я делаю неправильно. Я не эксперт по Git, но считается ли это «принудительным толчком»? Так как это заблокировано всеми пользователями, в том числе с ролью «master». Если да, то как мне делать изменения в ветке мастера?

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

+0

Я думаю, что главная ветка установлена ​​как защищенная в GitLab. –

+0

Отключите защиту. Если вы не знаете, как это сделать. Проверьте [docs] (https://docs.gitlab.com/ee/user/project/protected_branches.html) –

+0

Пожалуйста, прочитайте весь пост. Наличие ветви, установленной как защитная в GitLab, должно препятствовать тому, чтобы кто-то выполнял «принудительный толчок», но должен по-прежнему допускать регулярные нажатия от тех, у кого есть роль «хозяин». Это даже в документах, которые вы связали ... – ChrisDekker

ответ

1

Согласно трекеру GitLab это известная несовместимость с Git 2.11 и последними версиями GitLab.

https://gitlab.com/gitlab-org/gitlab-ce/issues/25301

Downgrading временно мерзавец 2.10 от источника должен решить проблему, пока собственно поддержка Git 2.11+ не встраиваются в будущем выпуске GitLab.

+0

Обратите внимание, что это ** не ** ошибка в Git! Это ошибка в GitLab, которая пытается * контролировать * (и тем самым ограничивать) Git определенными способами. Внутренние механизмы Git изменились в Git 2.11 и отстали от спины Git, чтобы контролировать (и тем самым ограничивать) Git задерживает использование GitLab * * Git. Так что это ошибка в GitLab, но не в Git. – torek

+1

Обратите внимание, что ошибка указывает на проблему с Git 2.11 ** на сервере **. –

+0

@JonathonReinhart: GitLab - это то, что вы запускаете на своем собственном сервере, на котором работает ваш Git, в данном случае. – torek