• Home
  • About
    • 谢朝森的个人博客 photo

      谢朝森的个人博客

      该博客主要用来记录个人学习,生活。帮助个人成长以及分享知识的一隅之地。

    • Learn More
    • Twitter
    • Facebook
    • Instagram
    • Github
  • Posts
    • All Posts
    • All Tags
  • Projects

git commit

提交

git中,commit是用来记录版本库的变更的。当提交时,git会记录索引的快照,并且将快照 放进对象库中。git会将当前索引的状态拿来和之前的快照做一个比较,如果比较的结果是有文件 或者是目录列表有不同之处,那么git会为发生变化的文件创建一个新的blob对象,对发生变化 的目录列表新建一个树对象。如果发现有文件或目录列表没有发生改变,那么就采用之前的blob对象 和树对象。

提交的快照是串联在一起的,每张新的快照指向它前一张快照。经过多次的提交之后就称为了一系列提交。

显式引用和隐式引用

在了解绝对提交之前,我们先了解一下显式引用和隐式引用

显式引用:唯一的40位十六进制SHAl提交ID是显式引用

隐式引用:始终指向最新提交的HEAD则是隐式引用

绝对提交