我正在学习git,而且我有一个git repo,我可以看到.git
目录。
在该目录中,我可以看到我能理解的某些文件和文件夹。
但是有一个名为objects
的目录。我无法想到它们的用途。
例如,我的objects
目录包含:
04 4a 5f 7a e9 f2 info pack
例如,如果看到04
的内容,我可以看到名为12697515217f658b245149a986aba32fa98f38
的文件。我无法看到它的内容,它已被加密。
有人可以说objects
文件夹的原因是什么吗?为什么大的哈希不像12697515217f658b245149a986aba32fa98f38
?
在任何情况下,我都可以解密12697515217f658b245149a986aba32fa98f38
的内容并真正看到git如何发挥其魔力?
提前致谢。
答案 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。