1. 工作区(working)
即编辑器显示的内容
2. 暂存区(staging)
通过 add 命令后保存的内容, 由于 git版本不同,可以叫 stage 或者 cache
进而有些命名需要加 --staged 有些加--cached,其实是一个意思
3. 版本库(repo)
通过 commit 命令保存的版本,可以与远程库直接交互
4. 代码存储区域的流转
4.1 工作区 <----> 暂存区
工作区 --> add 暂存区
工作区 <-- checkout 暂存区
4.2 暂存区 <----> 版本库
暂存区 --> commit 版本库
暂存区 <-- reset 版本库
4.2.1 reset参数:
HEAD指针:版本库中最近的提交
默认为 --mixed
--soft reset only HEAD (版本库更改)
--mixed reset HEAD and index(版本库、暂存区更改)
--hard reset HEAD, index and working tree(版本库、暂存区、工作区更改)
【commit】:某个提交 hash