首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >ls-remote报告以"^{}“结尾的虚拟标记

ls-remote报告以"^{}“结尾的虚拟标记
EN

Stack Overflow用户
提问于 2013-02-06 00:06:42
回答 2查看 318关注 0票数 8

以'^{}‘结尾的标签是什么?它们实际上并不存在于裸存储库中。

代码语言:javascript
复制
$ git ls-remote -t origin
55f09717db93733b8f151763e7e28628f3f22129        refs/tags/Init
dce13158fff0e95b8adcc5628f193a8c03bada9c        refs/tags/Init^{}
2c9f64c306aa76e5b689bc2ffb41163aa255ac40        refs/tags/kaos-red
0970feca84d87df60ec5e943da2f55f1947fd0a3        refs/tags/legacy
dce13158fff0e95b8adcc5628f193a8c03bada9c        refs/tags/legacy^{}

例如,当我尝试用"git push :Legate^{}“删除它们时,git会响应

代码语言:javascript
复制
fatal: remote part of refspec is not a valid name in :Init^{}

那么他们从何而来呢?这是ls-remote中的一个bug吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-02-06 00:30:59

git rev-parse manual描述了在git中指定提交或其他对象的各种方法。对于这种情况,它说:

^{},例如v0.99.8^{}后缀^后跟空花括号对表示对象可以是标记,并递归地取消对标记的引用,直到找到非标记对象。

票数 7
EN

Stack Overflow用户

发布于 2015-06-25 15:54:07

我想批量删除远程git存储库中的标签,在从Google找到的一些结果文档中,我发现命令如下

代码语言:javascript
复制
git ls-remote --tag | awk '/(.*)(\s+)(.*)/ {print ":" $2}' | xargs git push origin 

或者类似的东西。(同样的问题,它将显示以^{}结尾的幻影标记)

如果您想像我一样做同样的事情,可以尝试使用git命令show-ref

代码语言:javascript
复制
git show-ref --tag | awk '/(.*)(\s+)(.*)/ {print ":" $2}' | xargs git push origin

在后一种方式中,您将不会被这个问题所阻碍。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14711770

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档