不能在Git中推送标签

use*_*950 7 git git-push gerrit

我无法在我的git远程存储库中推送带注释的标签.所有访问权限都在gerrit中提供.例如.[参考文献/*]

我正在使用以下命令创建标记

git tag -a v1.0 -m 'Base Version' 712d77e
Run Code Online (Sandbox Code Playgroud)

当我尝试使用以下命令推送时

git push origin v1.0 
Run Code Online (Sandbox Code Playgroud)

要么

git push origin --tags
Run Code Online (Sandbox Code Playgroud)

我收到以下错误.

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://...'
Run Code Online (Sandbox Code Playgroud)

请让我知道如何在存储库中推送标签.

谢谢....

ahm*_*aie 20

如果不允许推送,这是Gerrit返回的一般错误消息,例如因为推送用户没有足够的权限.

特别是出现此错误:

  1. 如果您将代码审查提交推送到您没有上载权限的分支(访问权限推送refs/for/refs/heads/*)

  2. 如果您在没有Push访问权限的情况下绕过代码审查 refs/heads/*

  3. 如果你在没有Push Annotated Tag访问权限的情况下推送带注释的标签 refs/tags/*

  4. 如果您在没有Push Signed Tag访问权限的情况下按下已签名的标记 refs/tags/*

  5. 如果你推送一个没有访问权限的轻量级标签,请参考参考名称 refs/tags/*

  6. 如果您将标签与其他人一起作为标记器,并且您没有Forge Committer访问权限的参考名称 refs/tags/*

  7. 如果您推送到状态为只读的项目

对于新用户,经常发生他们意外地试图绕过代码审查.然后推送失败并返回Gerrit禁止的错误消息,因为该项目不允许绕过代码审查.绕过代码审查是通过直接推送refs/heads/*(例如refs/heads/master)而不是推送到refs/for/*(例如refs/for/master)来完成的.

Gerrit禁止复制

更多说明:我对gerrit 2.7的新安装有同样的问题,搜索并发现了这个stackoverflow问题,但是我的情况是这个描述的第5个(轻量级标签),所以我为refs/tags/*添加了Create Reference权限,并且问题解决了.


mic*_*has 2

这一行给你一个提示:

! [remote rejected] v1.0 -> v1.0 (prohibited by Gerrit)
Run Code Online (Sandbox Code Playgroud)

Gerrit 禁止推送,因为您的用户不属于具有“推送带注释标签”权限的组。