深入剖析Git对象底层原理
I. 引言 在我们日常使用 Git 时,通常的操作是: 在写完一段代码后,执行 git add命令,将这段代码添加到暂存区中 然后再执行 git commit和 git push 命令,将 本地 Git 版本库中的提交同步到服务器中的版本库中 Git 在中间做了什么,它如何存储不同的文件和内容,以及如何区分不同分支下的文件版本呢?日常操作对这些自动的操作都是无感的。但是如果哪天一旦...

15分钟了解Git对象和引用(3)
Git 引用 (Git Reference)OID, 即40位的16进制字符串表示(SHA-256则为64位), 毫无疑问让我们非常晦涩难记。 Git 引用 (References 或 Refs) 就是为此而生的, 引用是一个逻辑概念, 其并非Git所独创, 很多的VCS工具都有类似的概念和设计, 但是基本通过不同的物理方式实现。Git 引用的存储方式Git 引用存储的文件可以在我们仓库中轻松找....
15分钟了解Git对象和引用(2)
普通Tree对象Root Tree是一种逻辑含义上特殊的 tree 对象, 因为它是由 Git 自动生成的对某个目录的映射或索引. 但是在物理含义上, 它与普通的tree对象并没有本质差别, 我们尝试通过新增目录的方式, 来进一步了解 tree 对象:➜ mkdir src docs➜ echo "abc" > src/main.c➜ echo "efg....
15分钟了解Git对象和引用(1)
Git 对象(Git Object)了解Git, 离不开了解Git对象提到版本控制, 大家可能都不太陌生, 作为开发者或者软件工程师, 版本控制一直在频繁发生着, Git作为一款优秀的 VCS版本控制管理工具 (Version Control System) , 就是为了解决版本控制问题诞生。 以下是来自维基百科中关于VCS的一段描述:几乎与文章写作过程一样,对文本的组织和修订的需求一直存在, ....
commit时Git都干了些啥?--- 提交对象
本文首发于公众号“AntDream”,欢迎微信搜索“AntDream”或扫描文章底部二维码关注,和我一起每天进步一点点 提交对象 一般我们平时有了需要提交的文件,都是2步走:add,然后commit add操作 第一步:添加文件 //添加文件到暂存区 git add test.txt 这一步Git做了2件事: 将文件的内容用之前数据对象一节中提到的方法创建数据对象并保存到Git数据库中(计算S.....

Git是如何保存文件名和目录关系的---树对象
本文首发于公众号“AntDream”,欢迎微信搜索“AntDream”或扫描文章底部二维码关注,和我一起每天进步一点点 树对象(tree)—— 保存文件名和目录关系 树对象主要解决2个问题,:文件名的保存和文件目录关系的保存 就像下面这样 下面我们就来模拟一下构建上面这颗树,也就是模拟保存这3个文件,其中的"bak"是一个目录,下面有一个文件 首先可以看到,我们一共需要保存的是3个文件,new.....

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。
开发与运维
集结各类场景实战经验,助你开发运维畅行无忧
+关注