Git的三种对象
- 提交对象(commit object):包含一个树对象的哈希值,文件作者,提交者,提交信息
- 树对象(tree object):类似于目录,包含数据对象和其他树对象的哈希值
- 数据对象(blob object):类似于文件,包含数据内容
Git 仓库目录解释
一个基本的.git目录包含以下目录:
objects目录:
里面包括所有的对象,包括提交对象,树对象,数据对象。对象的sha1值有40位,前两位作为文件夹名,后38位作为文件名。
refs目录
里面包含每个分支的head,以及所有的tag。同时可以看到main分支的文件里面,仅仅记录了一个提交对象的hash值。
先查看下当前main分支的版本历史图: