运行命令git ls-remote
会列出以下条目:
e6c1ddea6ee8eefa9e96e349dd4fad4a48c16448 refs/tags/1.1
1a3b5ae3a50ca2f24e5cd917cbf51d371f1dd01e refs/tags/1.1^{}
81901877c5add523cd4a4bb8f51ad3bbbacbd686 refs/tags/1.2
4681b1ae6ec71301019da13d1790c2f808c2c553 refs/tags/1.2^{}
^{}
在输出中意味着什么?
答案 0 :(得分:5)
它们不是名称的一部分,而是git rev-parse的一个指示符,它应该取消引用标记(并且,运气好的话,找到提交,尽管理论上标记可以指向另一个标记,或者甚至是树或blob;但如果它指向另一个标签,^{}
会继续剥离洋葱层,直到它碰到非标签。)
git ls-remote
(实际上,远程本身)使用此语法向您发送commit-ID。 (我不太确定如果标签最终指向树或blob会发生什么。)