git中对象目录有什么用?

时间:2013-01-27 14:05:53

标签: git

我正在学习git,而且我有一个git repo,我可以看到.git目录。

在该目录中,我可以看到我能理解的某些文件和文件夹。

但是有一个名为objects的目录。我无法想到它们的用途。

例如,我的objects目录包含:

04  4a  5f  7a  e9  f2  info  pack

例如,如果看到04的内容,我可以看到名为12697515217f658b245149a986aba32fa98f38的文件。我无法看到它的内容,它已被加密。

有人可以说objects文件夹的原因是什么吗?为什么大的哈希不像12697515217f658b245149a986aba32fa98f38

在任何情况下,我都可以解密12697515217f658b245149a986aba32fa98f38的内容并真正看到git如何发挥其魔力?

提前致谢。

1 个答案:

答案 0 :(得分:1)

.git/object git中存储它自己的blob内部仓库,全部由SHA索引。

  

为什么大型哈希不像12697515217f658b245149a986aba32fa98f38

它是blob树的一些表示。对于不同的文件系统来说,以这种方式保存所有blob目录会更快,更舒适。

  

在任何情况下,我都可以解密12697515217f658b245149a986aba32fa98f38的内容并真正看到git如何发挥其魔力?

我真的希望你不能解密它(它只是压缩,没有加密,因为@knittl在评论中已经注意到了)。

如果您对.git目录中的哪些商店感兴趣,请查看该文章http://gitready.com/advanced/2009/03/23/whats-inside-your-git-directory.html