如何删除名为@的Git远程标签

Posted

技术标签:

【中文标题】如何删除名为@的Git远程标签【英文标题】:How to delete a Git remote tag named @ 【发布时间】:2021-11-11 14:51:12 【问题描述】:

我无意中创建了一个名为 @ 的 Git 标记并将其推送到 GitHub。

git tag -a -s @ 
git push --tags

现在我想再次摆脱这个标签。 GitHub 没有提供删除 Git 标签的 UI。我成功删除了本地标签,但无论我尝试什么,我都无法推送删除远程标签。这是我已经尝试过的:

$ git push :@                                                                                                                                    
ssh: Could not resolve hostname : Name or service not known
$ git push :"@" 
ssh: Could not resolve hostname : Name or service not known
$ git push --delete origin "@"                                                                                                               
fatal: invalid Refspec ':@'
$ git push --delete origin \@    
fatal: invalid Refspec ':\@'
$ git push --delete origin '@'   
fatal: invalid Refspec ':@'

任何人都提示应该采取什么技巧?

【问题讨论】:

哎呀。 Git 应该禁止这个名字。 git-scm.com/docs/git-check-ref-format 表示 ref 本身不能是“@”; “tags/@”当然不是,但它包含“@”作为组件,这确实应该被禁止。可能值得提交错误报告。 感谢@torek 的指点!我现在正在向 Git 邮件列表写一个问题/错误报告。 【参考方案1】:

嗯!浏览.gif/refs目录后发现:

git push --delete origin tags/@ 

成功了。

【讨论】:

以上是关于如何删除名为@的Git远程标签的主要内容,如果未能解决你的问题,请参考以下文章

git学习GitLab中如何批量删除本地以及远程的TAG标签

如何删除git远程仓库的某个文件

删除不再在远程存储库上的本地 git 标签

text 删除所有git远程标签#git

如何查看git远程仓库中的文件

如何删除所有超过一年的 Git 远程分支?