1 本地仓库结构
- git项目有3个主要部分组成
* 工作区(working directory / working tree)
项目当前版本对应的所有文件,这些文件是从git版本库中压缩后的数据库中提取出来,放入该位置的(就是我们项目当前版本的代码)
暂存区(staging area)
本质就是一个文件,位于在git版本库中,主要用于保存下次提交文件的信息;通俗上,我们称之为索引
版本库(git directory / repository)
用于存储元数据和文档数据库的地方,默认在项目的.git隐藏目录中
2 仓库各部分如何协作
首先在工作区修改文件(当前开发的代码)
将修改后的文件放入git暂存区中,准备提交到git版本库中去
-
执行提交操作,将暂存区中的文件作为一个快照保存到git版本库中
3 文件状态
untracked : 工作区中从未被提交至暂存区或版本库中文件的状态
new : untracked状态的文件提交至暂存区后,文件状态变为new
tracked : new状态的文件提交至版本库后,文件状态变为tracked状态
modified : 文件已有一个或多个版本保存在版本库中,此时文件被修改,未加入暂存区,文件状态为modified状态
staged : modified状态的文件提交至暂存区后,文件状态变为staged
-
committed : staged状态的文件提交至版本库后,文件状态变为committed状态