码迷,mamicode.com
首页 > 其他好文 > 详细

5.Git三大对象类型

时间:2019-03-08 23:21:14      阅读:267      评论:0      收藏:0      [点我收藏+]

标签:答案   项目   linux文件   一个   节点   方式   组织结构   对象   存储方式   

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对象

5.Git三大对象类型

标签:答案   项目   linux文件   一个   节点   方式   组织结构   对象   存储方式   

原文地址:https://blog.51cto.com/13622854/2360159

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!