Git packed-refs别名打破浅获取

时间:2016-09-07 10:19:06

标签: linux git bitbucket

有人可以告诉我Git存储库中'packed-refs'中的refspec格式是什么,如下所示:

git ls-remote

因此,当我执行<some-hash> refs/tags/anytag <tags-commit-true-hash> refs/tags/anytag^{} 时,我得到了

anytag

因此,当我尝试浅提取<some-hash>时,我收到指向<tags-commit-true-hash>的FETCH_HEAD,但在检查之后我收到require 'socket' require 'resolv-replace' ip = Socket.ip_address_list.detect{|intf| intf.ipv4_private?} ip.ip_address 。这会破坏浅层提取相同的标记,因为无论如何都会拉出数据(即使它已经存在)。

本地Git版本:Linux Mint上的1.9.1 Linux x86-64

Git主持:Bitbucket

有谁知道如何删除那些奇怪的哈希别名或解决他们的存在问题?

1 个答案:

答案 0 :(得分:1)

这些&#34;别名&#34;是标签对象。它们包含额外的注释并指向实际的提交(类似于提交指向树和树指向子树和blob的方式)。

据我所知,他们按设计工作。不需要任何&#34;解决方法&#34;。

  

这会破坏浅层提取相同的标记,因为无论如何都要拉取数据(即使它已经存在)。

不,已经存在的数据被拉动。

需要提取一些额外的数据,但实际上只是一点点。提交本身及其中引用的树和blob如果已经可用,则不应被提取。

相关问题