Git 使用手册 · 高级篇:原理、调试与仓库工程

这是 Git 手册系列的第三篇。前两篇讲"怎么用",本篇讲"为什么":理解了 Git 的内部模型,所有命令都会变成推理题而非背诵题;再配上一批工程化工具,解决"什么时候出的 bug"、“仓库太大”、“多仓库依赖"这类真实难题。 目录 Git 对象模型:blob、tree、commit、tag 引用:分支、HEAD、tag 都只是指针 彻底理解 merge / rebase / cherry-pick bisect:二分查找"哪次提交引入了 bug” worktree:一个仓库多个工作区 submodule 与 subtree:仓库套仓库 hooks:在关键时刻自动执行脚本 Git LFS 与大文件 仓库瘦身:清理历史中的大文件 高级调试与诊断 Git 对象模型:blob、tree、commit、tag Git 本质是一个内容寻址的文件系统 + 一个版本控制外壳。.git/objects/ 下只有四种对象: 对象 内容 类比 blob 文件的内容(不含文件名) 文件快照 tree 一个目录:文件名 → blob/tree 的指针列表 文件夹快照 commit 指向一个 tree + 父 commit 指针 + 作者/时间/信息 一次版本 tag(附注) 指向一个 commit + 标签信息 里程碑 所有对象用内容算 SHA-1(新版支持 SHA-256)哈希作为 id:内容相同 → id 相同,这就是 Git 去重和完整性校验的原理。 ...

2026-08-22 · 4 分钟 · 753 字 · heyaohua