Git Object 深入浅析
前文 Git 底层深入浅析 - 目录篇我们讲了git目录下的文件都是什么,最后我们来讲一下git objects。
前置知识
git cat-file -option xxx: 用来实现所有Git对象的读取,包括数据对象、树对象、提交对象的查看
我们先了解两个参数-p表示查看Git对象的内容,-t表示查看Git对象的类型,更多请执行git cat-file --help查看。

git-hash-object xxx: 用来计算文件内容的hash值,并将生成的数据对象存储到Git文件系统中。
-w表示将数据对象写入到 Git 文件系统中
--stdin表示从标准输入中获取文件内容
可以使用git hash-object --help来查看他的参数列表。

git objects分类
git objects分为 3类:
commit: 对象存储git中的提交信息.tree: 对象存储git仓库中的文件元数据信息, 包括文件名及目录结构信息等.blob: 对应的是git仓库中的文件内容.
// 查看日志
git log -5
// 查看 Git 对象的类型
git cat-file -t 7369f96
// 查看 Git 对象的内容
git cat-file -p 7369f96
我们先找到一个hash值,然后对这个hash值 执行 git cat-file,我们发现这个hash类型是commit,以及它的内容包括父节点,作者信息,提交者信息等其他信息。


