Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带有^{}的Git分支/标记名_Git - Fatal编程技术网

带有^{}的Git分支/标记名

带有^{}的Git分支/标记名,git,Git,运行命令git ls remote将列出以下条目: e6c1ddea6ee8eefa9e96e349dd4fad4a48c16448 refs/tags/1.1 1a3b5ae3a50ca2f24e5cd917cbf51d371f1dd01e refs/tags/1.1^{} 81901877c5add523cd4a4bb8f51ad3bbbacbd686 refs/tags/1.2 4681b1ae6ec71301019da13d1790c2f808c2c553 ref

运行命令git ls remote将列出以下条目:

e6c1ddea6ee8eefa9e96e349dd4fad4a48c16448    refs/tags/1.1
1a3b5ae3a50ca2f24e5cd917cbf51d371f1dd01e    refs/tags/1.1^{}
81901877c5add523cd4a4bb8f51ad3bbbacbd686    refs/tags/1.2
4681b1ae6ec71301019da13d1790c2f808c2c553    refs/tags/1.2^{}

^{}
在输出中是什么意思?

它们不是名称的一部分,而是一个指示器,指示它应该取消引用一个标记(并且,如果幸运的话,可以找到一个提交,尽管理论上标记可以指向另一个标记,甚至树或blob;但是如果它指向另一个标记,则
^{}
继续剥洋葱层,直到它碰到非标签)


git ls remote
(或者说,远程设备本身)使用此语法向您发送commit-ID。(我不太确定如果标记最终指向树或blob会发生什么情况。)

-后缀^后跟空大括号对意味着对象可能是标记,然后递归地取消对标记的引用,直到找到一个非标记对象。请参阅以下问题的答案:-您知道git为什么同时具有1.x和1.x^{}项吗?因为它是一个带注释的标记,所以标记对象是
refs/tags/1.1
(或者更准确地说,
e6c1dde…
)。远程服务器希望(相当有用)为您获取提交ID,这样您就可以知道您是否已经有了提交。