Git(Linux环境):工作目录、暂存区、版本库
目录
git的几个重要概念
一个仓库 本地仓库 二个引用
分支,标签 三大工作区
工作目录、暂存区、版本库 四个对象 blob,tree,commit,tag giit专业术语中英文对照
![]()
工作目录、暂存区、版本库
Git本质
- 一套内容寻址的文件系统
版本库中文件的三种状态
已修改 modified 已暂存 staged 已提交 committed 三大工作区
- 工作目录
- 暂存区域
- 版本库(仓库)
工作区下的文件状态
未被追踪 untrackec 被追踪 tracked
git索引(index)
什么是索引
存储了一个tree对象所有信息的二进制文件
- 里面有很多条目,分别指向不同blob、tree哈希值
索引是一种暂存区域(staging area)
- 文件修改内容并没有保存到该区域
- 索引实际上是一个包含文件索引的目录树
- 记录了文件名和文件状态信息(时间戳、文件长度等)
- 文件的内容并没有保存到其中
- 文件索引建立了文件和对象库中对象之间的关联
- 文件内容保存在.git中的objects目录下
- 文件快照保存在objects中
.git目录
仓库子目录 功能描述 branches 项目分支信息 hooks 默认的hooks脚本,由特定事件触发 info 内有exclude文件:指定gt要忽略的文件 logs 历史记录,删除的commit对象等 objects Git数据对象:commit,tree,blob,tag refs Git引用:指向(远程)分支、标签的指针 config Git项目配置信息 HEAD 指向当前分支的末端 index Staging area暂存区 COMMIT-ETMSG 最后一次提交的注释 description Git描述信息