Git 提交对象

提交对象


提交对象(首次)及树结构

暂存操作( add )会为每一个文件使用 SHA-1 哈希算法计算校验和,然后会把当前版本的文件快照保存到 Git 仓库中(Git 使用 blob 对象来保存它们),最终将校验和加入到暂存区域等待提交。右上角的 5b1d3 就是校验和的一部分。

当进行提交操作(commit)时,Git 会先计算每一个子目录(本例中只有项目根目录)的校验和,然后在 Git 仓库中这些校验和保存为树对象。 随后,Git 便会创建一个提交对象,它除了包含上面提到的那些信息外,还包含指向这个树对象(项目根目录)的指针。如此一来,Git 就可以在需要的时候重现此次保存的快照。

Blob 对象保存着文件快照、树对象记录着目录结构和 blob 对象索引,提交对象包含着指向前述树对象的指针和所有提交信息。上图中因为是首次提交,索引提交对象中没有 parent 指针。

提交链

可以从上图发现,非首次提交的提交对象都会有一个 parent 指针。



最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容