一.git对象类型
1.blob
由文件转化而来。blob对象不存储文件的元信息,只保存文件的数据。
2.tree
由目录转化而来。tree对象只保留(指向)直接文件和直接子文件(不包括直接子文件下的内容)。
3.commit
由提交转化而来。commit对象指向tree,也指向父commit。
二.add与commit对git对象产生了什么影响
1.基本的结构
工作区--暂存区(索引)--对象库
2.add
add文件后会在对象库中生成blob对象,暂存区指向add的文件
3.commit
commit文件后会在对象库中生成索引(就是暂存区的,指向的文件也一样),并指向父提交。
三.有关git对象的命令
“git cat-file -t 哈希值”,查看对象的类型
“git cat-file -p 哈希值”,查看对象的内容
“git rev-parse 哈希值”,通过简短的哈希值获取到整个哈希值