工作区: 就是你在电脑里能看到的目录。
暂存区: 英文叫stage, 或index。一般存放在 “.git目录下” 下的index文件(.git/index)中,所以我们把暂存区有时也叫作索引(index)。
版本库: 工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。
工作区、版本库中的暂存区和版本库之间的关系
- 你工作目录下的每一个文件都不外乎这两种状态:已跟踪或未跟踪;初次克隆某个仓库的时候,工作目录中的所有文件都属于已跟踪文件,并处于未修改状态。
- 已跟踪的文件是指那些被纳入了版本控制的文件,在上一次快照中有它们的记录,在工作一段时间后,它们的状态可能处于未修改,已修改或已放入暂存区。
- 工作目录中除已跟踪文件以外的所有其它文件都属于未跟踪文件,它们既不存在于上次快照的记录中,也没有放入暂存区。
文件的状态变化周期
add就是将代码从工作区提交到暂存区;
commit的过程就是将代码从暂存区提交到版本库;