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

Git学习笔记

时间:2015-10-01 23:01:00      阅读:212      评论:0      收藏:0      [点我收藏+]

标签:

Git与SVN的区别:Git会把每次提交的文件全部内容都记录下来。

 

SHA

Git里常见‘40个字符’的字符串,是用来索引所有项目历史信息的文件。

每一个对象名都是对对象内容做SHA1运算,内容不一样则SHA1值不一样;只有他们的内容完全相同,SHA1值才会相同。

blob对象和tree对象和其他对象一样,都是用其内容的SHA1值来命名的,因此Git可以仅仅根据tree对象的名字是否相同来判断其对象内容是否一样。

对象

对象分为类型、大小、内容三部分,有四种类型的对象:blob、tree、commit、tag。

  • blob对象用来存储文件的内容,一个blob对象就是一块二进制数据。
  • tree对象用来表示内容之间的目录层次关系,一个tree对象有一串指向blob或其他tree对象的指针。
  • commit对象指向一个tree对象,且带有相关的描述信息;由一个tree、parent、author、committer四部分组成。
  • tag对象对某一个时间点的版本打上标签。

对象模型

如下图所示,commit对象指向根tree对象,每个目录都创建了一个tree对象,每个文件都创建了一个blob对象。

技术分享

 

Git学习笔记

标签:

原文地址:http://www.cnblogs.com/corykang/p/4851622.html

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