工作区
也就是在一开始我们所定义Git版本库的文件夹
![](https://i-blog.csdnimg.cn/blog_migrate/2ac0ae50c722c1bd19665f006df8d3ab.png)
这里TPS就是工作区
版本库
在工作区里面有一个隐藏的文件夹
.git 这个就是Git的版本库
![](https://i-blog.csdnimg.cn/blog_migrate/4612697fc642e67e3b9b3307ee2c05af.png)
Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫
index)的暂存区,还有Git为我们自动创建的第一个分支
master,以及指向
master的一个指针叫
HEAD。
![](https://i-blog.csdnimg.cn/blog_migrate/b9001d156aab217bc21a6096e1dda360.png)
下面用一张图来解释之前向Git版本库添加文件的过程
![](https://i-blog.csdnimg.cn/blog_migrate/6b9e7b06c7d0ae76f539a218a225ce8a.png)
第一步是用
git add把文件添加进去,实际上就是把文件修改添加到
暂存区;
第二步是用
git commit提交更改,实际上就是把暂存区的所有内容提交到
当前分支。
接下来做一个实例分析:
先将之前的readme.txt文本修改,再添加一个新的文本文件到工作区
运行
git status 命令查看状态
![](https://i-blog.csdnimg.cn/blog_migrate/a9b9880185ab15dcc0ee12bd4aa7959a.png)
Git现在提示readme.txt被修改了,而test.txt还从来没有被添加过,它的状态是Untracked。
运行
git add 命令提交,再用
git status 查看状态
![](https://i-blog.csdnimg.cn/blog_migrate/3f6dd8ed0cbbbbc555633a775e975e51.png)
现在暂存区的情况如下
![](https://i-blog.csdnimg.cn/blog_migrate/9a62322ab07612ea7fe7c17f716b78e6.png)
git add命令实际上就是把要提交的所有修改放到暂存区(Stage),然后,执行git commit就可以一次性把暂存区的所有修改提交到分支。一旦提交后,如果又没有对工作区做任何修改,那么工作区就是“干净”的:
![](https://i-blog.csdnimg.cn/blog_migrate/d02a51e93cbcc827308d58795dc8ef82.png)
![](https://i-blog.csdnimg.cn/blog_migrate/6682404aa0e24e07fcaaab6b86a91351.png)