前面我们在介绍Git的时候讲了很多次版本库,工作区这类的名词,那个时候只是为了让大家理解,很多概念都没有讲清楚,甚至都混用。现在我们来认真的梳理一下这几个概念,对后面的学习很重要。
工作区
工作区就是你存放一切文件的那个目录。比如前面我们新建了一个目录,叫test,然后进入test,在test目录下使用git init命令把test变成了一个Git可以管理的目录。我们甚至还知道Git帮我们自动生成了一个隐藏目录叫.git。此时,这个test目录就是工作区。
很简单吧!来张图吧。
那什么又是版本库呢?
版本库
我们刚才说了,工作区中各有一个隐藏目录叫.git。
没错,.git就是版本库。你commit提交的就是这个地方。
那什么又是暂存区呢?
暂存区
虽然.git目录是隐藏的,但你仍然可以打开。
打开.git,进去以后你会发现里面有很多目录和文件。类似于这样:
其中有一个名叫index的文件。
没错,你又猜对了!这个index文件就是暂存区(stage)。
事实上,暂存区是版本库里的一个临时存储的地方,经由暂存区,再提交到版本库。
你可能要问了:我已经知道这些了,然后呢?
事情是这样的:
- 首先,你在工作区创建了一个文件或者修改了一个文件
- 然后你有输入了git add,此时文件实际上是被添加到了暂存区(stage),也就是那个index文件
- 接着,你又输入git commit,这才算是正式提交。Git默认给我们创建了一个master分支(以后会详说)和一个指向master分支的HEAD指针(就是上面的HEAD文件)。
我们画一个图来帮助理解:
明白了吗?
如果喜欢的话,可以关注我的微博http://weibo.com/qiaoer2017