提交
git中,commit是用来记录版本库的变更的。当提交时,git会记录索引的快照,并且将快照 放进对象库中。git会将当前索引的状态拿来和之前的快照做一个比较,如果比较的结果是有文件 或者是目录列表有不同之处,那么git会为发生变化的文件创建一个新的blob对象,对发生变化 的目录列表新建一个树对象。如果发现有文件或目录列表没有发生改变,那么就采用之前的blob对象 和树对象。
提交的快照是串联在一起的,每张新的快照指向它前一张快照。经过多次的提交之后就称为了一系列提交。
显式引用和隐式引用
在了解绝对提交之前,我们先了解一下显式引用和隐式引用
显式引用:唯一的40位十六进制SHAl提交ID是显式引用
隐式引用:始终指向最新提交的HEAD则是隐式引用