How to push tag to specific branch in gerrit

邮差的信 提交于 2019-12-20 09:56:02

问题


I have a branch called v2.0 in gerrit. Now I want to the current stat of this branch as v2.0.1.

In my local repository I checked out the branch, then added the tag using

git tag v2.0.1

Now I'm trying to push that to gerrit, but I'm not sure how. I tried this:

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

How can I push the tag to gerrit?


回答1:


After some googling, I found the answer:

gerrit accepts only annotated tags. It's quite straightforward to create and push an annotated tag:

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:


  1. Add the permissions:

Click your project Access, add permissions as following:

Reference:  
refs/tags/*

Push Annotated Tag 
Push Signed Tag 
  1. Add your tags

Annotated tag: git tag -a "message" tag_name

Signed tag: git tag -s tag_name

  1. push your tags

simple cmd: git push --tags

If you want to fetch tags from your server repo using cmd:

git fetch --tags

You can check the doc:

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




回答3:


Tags and branches are completely independent concepts in Git, so your command doesn't make sense. A tag only links to a commit, and is repository-wide.

Both tags and branches are references, think about tags as fixed references to a commit, and branches as moving references on the tip of a commits' branch.

If the commit tagged v2.0.1 is already in the v2.0 branch I'd say you only have to push both to origin. If not, you'll want to merge the branch containing the tag into the v2.0 branch, and push both.




回答4:


If you push a lightweight tag, you should add the privilege 'Create Reference' for the reference name refs/tags/*, because as CharlesB said, both tags and branches are references.

After adding the 'Create Reference' right, you can use git push --tags to push lightweight tags.



来源:https://stackoverflow.com/questions/17953713/how-to-push-tag-to-specific-branch-in-gerrit

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!