git三大对象类型
git三大对象类型分别是commit、tree、blob
commit顾名思义是提交的意思,它在git仓库中以快照的形式保存,代表着项目不同的时间节点所对应的内容,Git 可以将项目恢复到任意一个快照
tree代表着当前快照内的组织结构,也可看作是文件夹目录
blob代表着当前快照内的具体文件对象,git存储方式是以文件内容作为判断,即不同名的相同内容的两个文件只会占用git一份存储空间
思考题:新建的Git仓库,有且仅有1个commit,仅仅包含 /doc/readme ,请问该commit中一共包含几个对象,内含多少个commit,多少个tree,多少个blob?
答案是4个对象,1个commit,2个tree,1个blob
git的对象类型的层级关系与linux文件的目录结构十分相似,每个commit可以看作是一个整体,commit本身是一个commit对象,包含着一个tree对象(/),从目录和对象二者结合的角度看,该commit包含/doc/readme。其中,commit看作是/(根目录),同时他是一个tree对象,tree内包含着目录doc/;doc/是二级目录,同时他也是一个tree对象,tree内包含着文件readme;readme是一个文件,同时他也是一个blob对象
原文地址:https://blog.51cto.com/13622854/2360159
时间: 2024-10-29 22:12:05