Как нажимать тег на конкретную ветку в герите

У меня есть ветвь с именем v2.0 в gerrit. Теперь я хочу, чтобы текущий stat этой ветки был v2.0.1.

В моем локальном репозитории я проверил ветку, затем добавил тег, используя

git tag v2.0.1

Теперь я пытаюсь подтолкнуть это к gerrit, но я не уверен, как это сделать. Я пробовал это:

$ git push origin v2.0.1 HEAD:refs/heads/v2.0
! [remote rejected] v2.0.1 -> v2.0 (prohibited by Gerrit)

Как я могу нажать тег на gerrit?

Ответ 1

После некоторых поисковых запросов я нашел ответ:

gerrit принимает только аннотированные теги. Это довольно просто создать и нажать аннотированный тег:

git checkout v2.0
git tag -am "Adding v2.0.1 tag" v2.0.1
git push origin v2.0.1 HEAD:refs/heads/v2.0

Ответ 2

  • Добавить разрешения:

Нажмите на проект Access, добавьте разрешения следующим образом:

Reference:  
refs/tags/*

Push Annotated Tag 
Push Signed Tag 
  1. Добавьте свои теги

Аннотированный тег: git tag -a "message" tag_name

Подписанный тег: git tag -s tag_name

  1. нажмите теги

простой cmd: git push --tags

Если вы хотите получать теги из репо сервера, используя cmd:

git fetch --tags

Вы можете проверить документ:

https://review.typo3.org/Documentation/access-control.html#category_push_annotated https://review.typo3.org/Documentation/access-control.html#category_push_signed

Ответ 3

Теги и ветки - это полностью независимые понятия в Git, поэтому ваша команда не имеет смысла. Тег связывается только с фиксацией и является репозиторием.

Оба тега и ветки являются ссылками, рассматривают теги как фиксированные ссылки на фиксацию и разворачиваются как движущиеся ссылки на кончик ветки фиксации.

Если тег фиксации v2.0.1 уже находится в ветке v2.0, я бы сказал, что вам нужно нажать оба на origin. Если нет, вы захотите объединить ветвь, содержащую тег, в ветвь v2.0 и нажать оба.

Ответ 4

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

После добавления права "Создать ссылку" вы можете использовать git push --tags, чтобы нажимать легкие теги.