探索 Git 底层原理:Blob、Tree、Commit 对象与暂存区本质

很多人天天用 Git,但并不清楚 .git/objects 文件夹里到底装了什么。

Git 本质上是一个基于内容寻址的键值数据库

  • Blob:存储纯文件数据内容,以 SHA-1/SHA-256 为文件名;
  • Tree:表示目录结构,记录文件名与其对应的 Blob 或子 Tree 指针;
  • Commit:包含指向顶层 Tree 的指针、父 Commit 引用、作者信息与提交消息。

搞懂了这个模型,git rebasereset 和分离头指针就再也不会感到害怕了。

21 回复 66 浏览
编辑于 7 days ago

全部回复

21 条

还没有回复

成为第一个参与讨论的人。

登录后就能参与这个讨论。

环球论坛 Sweep The Globev0.1.0

基于现代化全栈架构构建的技术社区 · 开放、连接与分享

Nuxt 4Spring Boot 3PostgreSQLRedis