“git clone ...”之后的提交对象在哪里?

时间:2011-10-28 12:29:39

标签: git git-clone

输入git clone <path to project>后,我发现内部.git/refs/heads/master创建了SHA1_code

虽然我看到SHA1_code指向提交对象(通过键入git cat-file -t SHA1_code),但我在.git/objects中找不到此提交对象。

此提交对象在哪里?

1 个答案:

答案 0 :(得分:2)

它可能在一个包中

请参阅 Packfiles (Pro Git第9-4章)以了解有关git对象数据库的更多信息

  

Git将对象保存在磁盘上的初始格式称为松散对象格式。但是,偶尔Git会将其中几个对象打包成一个名为packfile的二进制文件,以节省空间并提高效率。如果您有太多松散的对象,如果您手动运行git gc命令,或者您推送到远程服务器,Git会执行此操作。要查看会发生什么,您可以通过调用git gc命令手动要求Git打包对象: