Git本质
- 一套内容寻址的文件系统
版本库中文件的三种状态
- 已修改:modified
- 已暂存:staged
- 已提交:commit
一个仓库
二个引用
三个工作区
- 工作目录
- 暂存区域
- 版本库(仓库)
工作区下的文件状态
- 未被追踪:untracked
- 被追踪:tracked
Git 索引(index)
什么是索引
- 存储了一个tree对象所有信息的二进制文件
- 里面有很多条目,分别指向不同blob,tree哈希值
索引是一种暂存区域(staging area)
- 我们文件修改内容并没有保存到该区域
- 索引实际上是一个包含文件索引的目录树、
. 记录了文件名和文件状态信息(时间戳,文件长度等)
. 文件的内容并没有保存到其中(文件内容保存在objects中)
. 文件索引建立了文件和对象库中对象之间的关联
四个对象
blob
tree
commit
tag