这才是真正的Git——Git内部原理揭秘!
Git是如何存储信息的
- blob类型:存储文件的内容
- tree类型:目录结构
- commit类型:存储的是一个提交的信息
- SHA1算法
Git的三个分区
- 工作目录:电脑上的文件
- 索引区域:缓存区
- git仓库:提交的目录结构快照
当修改一个文件,并提交的过程中发生了什么?
- echo "333" > a.txt ,作区无任何变化
- git add a.txt,git仓库新建了一个blob object,存储新的文件内容,更新了索引指向新的blob
- git commit -m 'update';
- Git首先根据当前的索引生产一个tree object,充当新提交的一个快照。
- 创建一个新的commit object,将这次commit的信息储存起来,并且parent指向上一个commit,组成一条链记录变更历史。
- 将master分支的指针移到新的commit结点。