问题
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:
- Add the permissions:
Click your project Access
, add permissions as following:
Reference:
refs/tags/*
Push Annotated Tag
Push Signed Tag
- Add your tags
Annotated tag: git tag -a "message" tag_name
Signed tag: git tag -s tag_name
- 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