工作区
就是 git init 的目录,就是工程目录。 工作区下包含着版本库 .git 文件夹。
暂存区
暂存区就存在于 .git
版本库文件夹内。
称为 stage
,这并不是指某个目录的名称,而是一个逻辑概念。
一般存放在 .git 目录下的 index 文件(.git/index)中。
创建版本库的同时,会创建一个唯一的 master 分支。 git add 是往暂存区提交 git commit 是往 master分支提交
在实际开发中,这个作用很大,比如在编写一段时间的代码后,想要拉一下远程分支的代码,或者想回到之前的修改,但是又不想删掉这些修改,就可以用 stage 来暂存修改,暂存后,代码恢复未修改前的样子。
版本库
工作区有一个隐藏目录 .git,虽然这个目录在工作区的工程目录下,但是目录是管理git的。这个不算工作区,而是 Git 的版本库。 工作区中的文件的修改和 stage 暂存区中的修改都会被 git 监控到。 不同的区之前的修改是独立互不影响的。工作区中的修改是不会被 commit 的。只有暂存区的才会被 commit。