ls-remote报告以"^ {}"结尾的幻像标签

Law*_*den 7 git

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

$ 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^{}
Run Code Online (Sandbox Code Playgroud)

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

fatal: remote part of refspec is not a valid name in :Init^{}
Run Code Online (Sandbox Code Playgroud)

那他们来自哪里?这是ls-remote中的错误吗?

pat*_*yts 7

混帐REV-解析手册介绍了,您可以指定不同的方式提交或混帐的其他对象.对于这种情况,它说:

^ {},例如v0.99.8 ^ {}后缀为^后跟空括号对意味着对象可以是标记,并递归取消引用标记,直到找到非标记对象.