待补充,临时记录。
git的底层采用对象的方式来管理。对象的类型分为blob、tree、commit,每一个对象在.git/object目录下对应一个对象文件。
每次git add会为修改的文件创建一个blob。
git不是基于补丁来记录每次提交,而是基于快照来记录每次提交,快照意味着是全部备份,但是为了节省空间,只对修改过的文件进行备份,对于没有修改过的文件,许多快照一起共用。
git cat-file -t 查看对象文件类型
git cat-file -p 查看对象文件内容
-
对于blob对象文件,查看到的就是真实文件内容;
-
对于tree对象文件,查看到的是它底下包含了哪些blob以及子tree,tree可以理解为目录。
-
对于commit对象文件,包含了一次提交信息,提交信息包括:提交的作者,提交的comment,以及本次提交的顶层tree是哪个。