以'^{}‘结尾的标签是什么?它们实际上并不存在于裸存储库中。
$ 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会响应
fatal: remote part of refspec is not a valid name in :Init^{}那么他们从何而来呢?这是ls-remote中的一个bug吗?
发布于 2013-02-06 00:30:59
git rev-parse manual描述了在git中指定提交或其他对象的各种方法。对于这种情况,它说:
^{},例如v0.99.8^{}后缀^后跟空花括号对表示对象可以是标记,并递归地取消对标记的引用,直到找到非标记对象。
发布于 2015-06-25 15:54:07
我想批量删除远程git存储库中的标签,在从Google找到的一些结果文档中,我发现命令如下
git ls-remote --tag | awk '/(.*)(\s+)(.*)/ {print ":" $2}' | xargs git push origin 或者类似的东西。(同样的问题,它将显示以^{}结尾的幻影标记)
如果您想像我一样做同样的事情,可以尝试使用git命令show-ref
git show-ref --tag | awk '/(.*)(\s+)(.*)/ {print ":" $2}' | xargs git push origin在后一种方式中,您将不会被这个问题所阻碍。
https://stackoverflow.com/questions/14711770
复制相似问题