参考源
https://www.bilibili.com/video/BV1FE411P7B3?spm_id_from=333.999.0.0
版本
本文章基于 Git 2.35.1.2
四个区域
Git 本地有三个工作区域
工作区(Workspace):存放项目代码的地方。
暂存区(Stage):存放临时的改动,事实上它只是一个文件,保存即将提交到文件列表信息。
资源库(Repository):安全存放数据的位置,这里面有提交到所有版本的数据。其中 HEAD 指向最新放入仓库的版本。
Git 远程有一个工作区域
远程库(Remote):托管代码的服务器,可以简单的认为是项目组中的一台电脑,用于远程数据交换。
文件在这四个区域之间的转换关系如下
Git 管理的目录下各区域的关系如下
Directory:使用 Git 管理的一个目录,也就是一个仓库,包含我们的工作空间和 Git 的管理空间。
WorkSpace:需要通过 Git 进行版本控制的目录和文件,这些目录和文件组成了工作空间。
.git:存放 Git 管理信息的目录,初始化仓库的时候自动创建。
Index / Stage:暂存区,或者叫待提交更新区,在提交进入 repo 之前,我们可以把所有的更新放在暂存区。
Local Repo:本地仓库,一个存放在本地的版本库;HEAD 是当前的开发分支(branch)。
Stash:隐藏,是一个工作状态保存栈,用于保存/恢复WorkSpace中的临时状态。
工作流程
Git 的工作流程一般是这样的
在工作目录中添加、修改文件。
将需要进行版本管理的文件放入暂存区域。
将暂存区域的文件提交到 Git 仓库。
Git 管理的文件有三种状态:已修改(modified),已暂存(staged),已提交(committed)。