第1章 对象库与内容寻址


第1章 对象库与内容寻址

章节摘要:本章带你在 .git 目录里完成第一次现场勘查——认识 blob、tree、commit、tag 四种对象,理解 SHA-1 作为"内容指纹"的含意,再看清工作区、暂存区、仓库三区的流转本质。读完本章,Git 在你眼里将从一个命令集合变成一个可触摸的文件系统。

学习目标

  1. 能说出 .git 目录下各子目录的职责
  2. 能用 git cat-file 与 git ls-tree 亲手解剖一个提交
  3. 能解释"相同内容只存一份"的内容寻址机制
  4. 能画出工作区、暂存区、仓库三区的流转图并说清每步对应的状态变化
  5. 能用对象模型解释 .gitignore 与空目录不被追踪的原因

核心概念速览

一句金句:Git 不是在"保存修改",而是在"给整个项目拍快照"——每个快照都是一棵由内容指纹串起来的树。

子章节导航

1.1 blob 对象与 SHA-1 指纹

从最底层出发:一个文件进入 Git 时发生了什么。你会看到 blob 如何由内容唯一决定,为什么改一个字节哈希就面目全非。

1.2 tree 与 commit 对象破案

快照如何组织:tree 记录目录结构,commit 挂上作者与父提交。我们会解剖一个真实提交,把哈希链条走通。

1.3 三区流转:工作区、暂存区、仓库

把对象放回流程里。三区不是三个文件夹那么简单,暂存区本身就是一棵等待提交的 tree。

子章节之间的逻辑关系

三节是自底向上的勘查顺序:先看最小证据单位(blob),再看证据如何成卷(tree 与 commit),最后看证据如何归档(三区流转)。

1.1 blob 内容寻址 │ 内容如何组织成快照 ▼ 1.2 tree + commit 哈希链 │ 快照如何进入版本库 ▼ 1.3 三区流转与状态判定 ​

前置知识与后续延伸

  • 前置:会用命令行、对哈希函数有朴素认知即可,无需任何 Git 经验。
  • 为后续铺垫:第 2 章的"分支只是指针"直接建立在本章的 commit 对象之上;第 3 章的所有日常命令都将还原为"对象 + 三区"的操作。

本章勘查全景图

本章勘查全景图

作者与出处
原作者:灏天文库
来源:平台策划编纂
整理人: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 灏天文库 转发
评论区 (0)
U