30bd19ef190cf664356c715b56044ce739f07468        refs/tags/Prod_Release_2.3
4ae15ee04c2c41bfc7945e66f4effc746d52baec        refs/tags/Prod_Release_2.3^{}
以上是git ls-remote --tags我的集中存储库(裸)中列表标签的输出.
对于Prod_Release_2.3我只期望1个标签,我不知道它Prod_Release_2.3^{}来自哪里.
在centralrepo1中,Prod_Release_2.3的id与centralrepo2的Prod_Release_2.3 ^ {}的id相同,反之亦然.
在我的本地存储库中只有一个标记Prod_Release_2.3.
有什么不对吗?或者这是设计?
中央存储库托管在Ubuntu上,我在我的开发机器中使用msysgit.
Chr*_*sen 29
Git中有两种类型的标签:"轻量级"和"注释".
轻量级标签只是在refs/tags/命名空间中引用指向其他对象的引用.他们通过创建git tag <tagname> [object]无-a,-m,-F,-s,或-u.
带注释的标签实际上是一种指向其他对象的单独的Git对象(标签对象).标记对象存储提交者信息,作者信息,消息(类似于提交对象),并且它们指向任何单个其他对象(与提交中的提交对象不同,指向一个树对象和零个或多个其他提交对象).
当你有一个带注释的标签时,你通常也会有一个指向它的引用.从技术上讲,这个ref本身就是一个"轻量级"标签,但我们通常不会单独描述它们.
通常,两种标记都指向提交,但它们可以指向任何类型的Git对象(标记,提交,树或blob).该git.git仓库有refs/tags/junio-gpg-pub它指向包含维护者的GPG公钥的团块.此外,torvalds/linux-2.6.git有refs/tags/v2.6.11一个指向树.尽管在技术上允许指向非提交对象的标记,但它们可能会破坏或混淆某些工具,因此应尽可能避免使用它们.
语法^{}后缀(在gitrevisions(7)中描述)是标记解除引用语法(有时称为"剥离标记"语法).对于标签的物体,它计算到第一非标记对象该标签对象点(它会递归顺从标签对象链,直到找到一个非标签对象).对于非标记对象,它与没有^{}后缀的意思相同.
refs/tags/Prod_Release_2.3中央存储库中的ref指向名为的标记对象30bd19ef190cf664356c715b56044ce739f07468.
该标记对象最终指向其他一些名为4ae15ee04c2c41bfc7945e66f4effc746d52baec(可能是提交)的非标记对象.  
因此,refs/tags/Prod_Release_2.3^{}解决了4ae15ee04c2c41bfc7945e66f4effc746d52baec.
| 归档时间: | 
 | 
| 查看次数: | 6048 次 | 
| 最近记录: |