腾讯技术工程《Git》 学习

这才是真正的Git——Git内部原理揭秘!

Git是如何存储信息的

  • blob类型:存储文件的内容
  • tree类型:目录结构
  • commit类型:存储的是一个提交的信息
  • SHA1算法

Git的三个分区

  • 工作目录:电脑上的文件
  • 索引区域:缓存区
  • git仓库:提交的目录结构快照

当修改一个文件,并提交的过程中发生了什么?

  1. echo "333" > a.txt ,作区无任何变化
  2. git add a.txt,git仓库新建了一个blob object,存储新的文件内容,更新了索引指向新的blob
  3. git commit -m 'update';
    1. Git首先根据当前的索引生产一个tree object,充当新提交的一个快照。
    2. 创建一个新的commit object,将这次commit的信息储存起来,并且parent指向上一个commit,组成一条链记录变更历史。
    3. 将master分支的指针移到新的commit结点。
  4. 腾讯技术工程《Git》 学习