前言
- 这篇文章也是参考了“Git内部存储原理”这篇文章,大概理解了后,当记流水账,加深自己的影响,如有错误,敬请指出。
- 个人观点,叙述一件事或者完成一件工作,应当先在整体框架下,尽可能先完成基础模块,然后由基础模块加上业务逻辑最终形成应用,由一个或者多个应用解决实际面临的问题。这篇文章我也会先按模块再应用的方式叙述。
基本对象
- 之前不理解git的内部原理,只是觉得好用,在看论文网上写的文章后,觉得其实git作者在解决问题的时候一直很直接,用分而治之儿不是囫囵吞枣的方式很好的解决了项目迭代的问题,这种思想值得自己好好学习学习。
- 这里不延伸去讨论具体的实现,只讨论ta的逻辑功能和解决什么问题。
blob对象
在git中,文件会被压缩保存,所有的文件最后都会被单独的作为一个blob对象,都有一段唯一hash码与之对应,blob对象主要是解决单个文件的变动记录。
例如:在git文件夹下存在两个文件|
Makefile和README,那么git在处理的时候就会创建一个blob对象用于记录。
./git
|-----Makefile
|-----README
100644 blob 8cc95f278445722c59d08bbd798fbaf60da8ca14 Makefile
100644 blob 065bcad11008c5e958ff743f2445551e05561f59 README

本文深入探讨Git的基本对象——blob、tree和commit,以及它们在版本控制中的作用。通过理解这些内部原理,我们可以更好地掌握branch、tag和stash等应用。blob对象存储文件内容,tree对象记录文件路径关系,commit对象则作为版本控制的最小逻辑单元。了解这些基础知识,有助于提升Git的使用效率。
最低0.47元/天 解锁文章
711

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



