输入git clone <path to project>
后,我发现内部.git/refs/heads/master
创建了SHA1_code
。
虽然我看到SHA1_code
指向提交对象(通过键入git cat-file -t SHA1_code
),但我在.git/objects
中找不到此提交对象。
此提交对象在哪里?
答案 0 :(得分:2)
它可能在一个包中
请参阅 Packfiles (Pro Git第9-4章)以了解有关git对象数据库的更多信息
Git将对象保存在磁盘上的初始格式称为松散对象格式。但是,偶尔Git会将其中几个对象打包成一个名为packfile的二进制文件,以节省空间并提高效率。如果您有太多松散的对象,如果您手动运行git gc命令,或者您推送到远程服务器,Git会执行此操作。要查看会发生什么,您可以通过调用git gc命令手动要求Git打包对象: