##### 分区 - 分区 area - 本地仓库拥有三个 Git 功能分区: 工作树 (working tree), 暂存区 (staging area) 以及 Git 目录 (`.git` directory) , 暂存区实际存储在 Git 目录中, 但功能上还是分开表述 - 工作树是项目文件所在的位置, 是当前工作的区域, 该区域也被称为 Git 未跟踪区域, Git 会识别出它们未被跟踪, 不会记录其中发生的任何修改内容, 直到添加到暂存区 - 暂存区是 Git 开始跟踪和保存文件更改的地方, 也被称为索引, 是下一次正式提交的预览, 允许在此微调直到满意, 最后就可以提交到 Git 目录 - Git 目录是 `.git` 目录中的所有内容, 是存储项目的元数据和对象数据库的位置, 也被称为版本库. 执行一次提交, 会获取暂存区中的文件并将该快照永久存储到您的 Git 目录中, 并且可以推送到远程仓库了 - 初始工作文件都不外乎这两种状态: 已跟踪 (tracked), 未跟踪 (untracked) - 已跟踪的文件是指那些被纳入了版本控制的文件, 就是 Git 已经知道的文件 - 工作目录中除已跟踪文件外的其它所有文件都属于未跟踪文件, 它们既不存在于上次快照的记录中, 也没有被放入暂存区 - 当工作文件被跟踪添加到暂存区后存在三种状态: 已修改 (modified) , 已暂存 (staged) 和已提交 (commited) - 已修改意味着已更改文件但尚未将其添加到暂存区 - 已暂存表示对一个已修改文件的当前版本做了标记, 使之包含在下次提交的快照中 - 已提交表示数据已经安全地保存在本地版本库中