GIT由三个部分组成
- 工作区
存放当前操作文件的本地文件系统目录 a、在工作区可随意添加或编辑文件
- 暂存区
b、将修改后的文件添加到暂存区
- 提交历史
c、并记录到提交历史
工作区
Git 可以把工作区中的文件处理压缩成一个提交对象 也能将取得的提交对象解包成文件同步到工作区中
暂存区
a、在工作区可能会同时更改多个完全不相干的文件 b、将它们分别放入暂存区 c、在不同的提交中加入提交历史 d、暂存区还用于合并冲突时存放文件的不同版本
a、刚初始化的Git仓库 暂存区是空的 b、然后会填充最近一次提交所对应的文件快照
git status
将工作区的文件与暂存区的文件快照进行对比 并提示我们有哪些做了修改的文件尚未加入暂存区
不同的区对应不同的实体
a、工作区有可见的文件系统目录 b、暂存区的实体是位于 .git 目录的 index 文件 c、提交历史通过 .git/objects 目录保存着所有提交对象
Index 文件
index 是一个二进制文件 包含着一个由路径名称、权限和 blob 对象的 SHA-1 值组成的有序列表
元数据
包含 a、每个文件的创建时间 b、最后修改时间等元数据 c、指向实际的数据对象的引用 d、保存了一份完整的文件快照 因此可以通过对比SHA-1校验和 实现与工作区文件之间的快速比较
查看index中的内容
git ls-files --stage