我们之前提到在git中有三种存储对象
1 commit 2 tree 3 blob
一个commit对应一个tree。一个tree对应于多个tree和多个blob。一个blob对应于一个文件文件内容相同就是同一个blob
那么git是怎么样的一种存储文件的形式呢我们可以以我的git为例子看看
首先我们看看当前的commit唯一标识
[git@localhost git_learn]$ git log --oneline
98051f5 change readme
96b52f6 add java file
f23d21d change files
dc91b3d add javascript
f295d10 add css file
e331ef4 add index.html
126790e add readme file
可以看出当前版本是98051f5然后我们查看当前coomit的类型
[git@localhost git_learn]$ git cat-file -t 98051f5
commit
可以看出是commit类型。
然后我们查看commit的内容
tree f0630429089e61c23954c84ebf844195c9901205
parent 96b52f698b886fd7ba0d76a701594bbd62181013
可以看出两点 1 commit 下面包含一颗 tree同时也可以通过当前commit找到前一个commit我们可以查看parent的类型作为验证[git@localhost git_learn]$ git cat-file -t 96b52f698b886fd7ba0d76a701594bbd62181013
commit
然后我们查看tree f0630429089e61c23954c84ebf844195c9901205的内容
[git@localhost git