Git 原理(提交对象)
这一块主要讲述下 Git 的原理。
在进行提交操作时,Git 会保存一个提交对象(commit object):
该提交对象会包含一个指向暂存内容快照的指针;
该提交对象还包含了作者的姓名和邮箱、提交时输入的信息以及指向它的父对象的指针;
- 首次提交产生的提交对象没有父对象,普通提交操作产生的提交对象有一个父对象;
- 而由多个分支合并产生的提交对象有多个父对象;
接下来,通过实践的方式来探索 Git 提交 的原理。
我们可以自己手动创建个文件夹,然后里面创建个 index.html,并通过 git init 进行初始化。
接下来,进入目录下的隐藏文件夹 .git,所有需要存储的东西都会存储在 git 下的 objects 中:
nathanchen@192 tests2 % ls
index.html
nathanchen@192 tests2 % cd .git
nathanchen@192 .git % ls
HEAD config description hooks info objects refs
首先,我们修改一波 index.html 文件,然后进行git add .,这样会把所有文件放入到暂缓区中,再次查看对应文件,会发现多了 69 文件夹,里面存放二进制文件。
nathanchen@192 objects % ls
69 info pack
接下来查看文件的种类和对应内容,命令如下所示:
git cat-file -t file # 查看文件的种类
git cat-file -p file # 查看文件的内容

最低0.47元/天 解锁文章
531

被折叠的 条评论
为什么被折叠?



