2013-05-09 3 views
5

Я не могу нажать аннотированный тег в моем удаленном репозитории git. Все права доступа были предоставлены в gerrit. например. [Ссылки/*]Невозможно нажать теги в Git

Я создаю тег, используя следующую команду

git tag -a v1.0 -m 'Base Version' 712d77e 

Когда я пытаюсь нажать, используя ниже команды

git push origin v1.0 

или

git push origin --tags 

I получите следующую ошибку.

Counting objects: 1, done. 
Writing objects: 100% (1/1), 157 bytes, done. 
Total 1 (delta 0), reused 0 (delta 0) 
remote: Processing changes: refs: 1, done 
To ssh://... 
! [remote rejected] v1.0 -> v1.0 (prohibited by Gerrit) 
error: failed to push some refs to 'ssh://...' 

Пожалуйста, дайте мне знать, как я могу использовать теги в репозитории.

Спасибо ....

+0

Почему бы не начать сначала с терминала? Если это сработает, вы можете сузить проблему до gerrit – noMAD

ответ

2

Эта линия дает вам подсказку:

! [remote rejected] v1.0 -> v1.0 (prohibited by Gerrit) 

Геррит запрещено нажим, как ваш пользователь не в группе с "Push Annotated Tag" правом.

+0

, добавив автору автографа, а также идентификатор купеческого комминера помогли нам нажать аннотированные теги – user265950

15

Это общее сообщение об ошибке, которое возвращается Gerrit, если нажатие не разрешено, например. потому что у подталкивающего пользователя нет достаточных привилегий.

В частности, эта ошибка возникает:

  1. Если нажать фиксации для проверки кода в отрасли, для которой вы не имеете права загружать (право доступа Нажмите на refs/for/refs/heads/*)

  2. если вы обходите обзор кода без прямого доступа на refs/heads/*

  3. , если вы нажмете аннотированный тег без прямого доступа к аннотированным тегам прямо на refs/tags/*

  4. если нажать подписанную метку без принудительной Подписана доступа тегов прямо на refs/tags/*

  5. если нажать легкий тег без права доступа Создать Ссылку для имени ссылки refs/tags/*

  6. , если нажать тег с кем-то другим, как Tagger, и вы не имеете права доступа Forge коммиттер для имени ссылки refs/tags/*

  7. если нажать на проект, который находится в состоянии только чтение

Для новых пользователей часто случается, что они случайно пытаются обойти обзор кода. После этого push не выполняется с сообщением об ошибке, запрещенным Gerrit, поскольку проект не позволяет обойти проверку кода. Обход проверки кода осуществляется путем прямого нажатия на refs/heads/* (например, refs/heads/master) вместо нажатия на refs/for/* (например, refs/for/master).

скопирована из prohibited by Gerrit

Более описание: У меня такая же проблема с новой установкой Геррит 2.7, искал и нашел этот StackOverflow вопрос, но мой случай был номер 5 из этого описания (легкий вес теги), поэтому я добавил Создайте разрешение для ссылок для refs/tags/*, и проблема решена.

+0

Проголосовали за хороший источник. – Trismegistos

+0

В моем Gerrit я не могу найти разрешение «Push Annotated Tag». Вы имели в виду "Create Annotated Tag"? (Я понимаю, что ответ старый, возможно, имя разрешения изменилось?) – Jolta

3

Вам нужно добавить разрешения следующий проект для [ссылки/теги/*]:

  • Создать задание: создать новый тег.
  • Идентификация Commge Committer: разрешить загрузку другого тега (вы) оригинальному теггеру.
  • Forge Author Identity: позволяет обрабатывать фиксацию, принадлежащую другим пользователям.

См Gerrit access controls подробности

0

Создание аннотированных и проверка Герритом. Вы должны быть в правой группе, которой разрешено создавать аннотированные

Если вы создадите простые теги, то gerrit может отклонить это refs, но опять же это может зависеть от конфигурации gerrit.

создать аннотированный тег:

 
git tag -a -m "Some message" 

толкать все ваши метки:

 
git push --tags 

проверки теги созданы в отдаленных:

 
git ls-remote --tags 
0

"запрещенную Геррит" - значит который должен разрешать права.

Сначала выберите свой проект и перейдите к «Доступ». Затем «Изменить» и из раскрывающегося списка «добавить разрешение». Чем нужно добавить три разрешения на картинку со стрелками.


enter image description here


Чем вы можете использовать в терминале:

git push origin --tags 

!!! ВАЖНО Обратите внимание, что права указаны для refs/tags/*

Смежные вопросы