1.块(blob)对象
(1)文件的每一个版本表示为一个块
(2)二进制大对象(binary large object)的缩写,是计算机领域的常用术语,用来指代某些可以包含任意数据的变量或文件,同时其内部结构会被程序忽略
(3)一个blob被视为一个黑盒
(4)一个blob保存一个文件的数据,但不包含任何关于这个文件的元数据,甚至连文件名也没有
(5)blob对象是数据结构的“底端”
(6)它什么也不引用而且只被树对象引用
2.树(tree)对象
(1)代表一层目录信息
(2)记录blob标识符、路径名和在一个目录里所有文件的一些元数据
(3)树对象指向若干blob对象,也可能指向其他树对象
(4)许多不通的提交对象可能指向任何给定的树对象
3.提交(commit)对象
(1)一个提交对象保存版本库中的每一次变化的元数据,包括作者、提交者、提交日期和日志信息
(2)提交对象指向一个特定的树对象,并且这个树对象是由提交对象引入版本库的
4.标签(tag)对象
(1)一个标签对象分配一个任意的且人类可读的名字给一个特定对象,通常是一个提交对象
(2)每个标签可以指向最多一个提交对象
参考资料:《Git版本控制管理》