使用Gerrit,如何删除远程标签?

6
大家好!我正在使用Gerrit,遇到了一些问题。我已经创建了一个标签v1.0,现在想要从本地和远程中删除它。操作已经完成:
  • git tag -d v1.0
  • git push origin refs/tags/v1.0
然后,我遇到了以下错误:![remote rejected] v1.0(无法删除引用) error: failed to push some refs to 'ssh://admin@review.thomas.com:29418/testproject' 出了什么问题?

2
很可能你需要拥有“删除标签”权限。 - user3159253
2
Gerrit有自己的权限和选项,用于精细化项目管理。因此,请向您的Gerrit管理员询问,或者如果您是安装的管理员,请更加彻底地检查设置。 - user3159253
好的,谢谢。我已经连接了Gerrit管理员。Gerrit管理员授予了我推送标签的权限。然后我再次尝试,它可以工作了。 - Wang Xiaoyu
请注意,如果上游更改了现有标签,则Git不会更新本地存储库中的标签。换句话说,那些下载了您原始v1.0标签的人将无法看到您的新标签,并且您不再具有标签的明确定义。这是一个糟糕的情况。 - Magnus Bäck
好的,我明白了。谢谢你,@MagnusBäck。 - Wang Xiaoyu
1个回答

7
要删除或覆盖现有标签,请授予(设置“允许”)参考名称refs/tags/*的“推送”权限,并启用“强制推送”选项。

这种方式也是可行的。有关这两种方法的更多信息,请参阅Gerrit文档:https://gerrit-review.googlesource.com/Documentation/access-control.html#category_delete - Marcelo Ávila de Oliveira
今天我遇到了一个问题,即使有正确的权限,我也无法通过命令行删除标签。我不得不使用Gerrit管理界面:顶部菜单选项“项目>标签”。 - Jonathan Benn

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接