#5.Git的工作区,暂存区和版本库之间的关系

在Git中,与传统的集中式版本控制系统相比,分布式的Git比SVN多一个【暂存区】的概念。

|-工作区(Working Directory)

所有的版本控制工具,都有工作区的概念,在我们硬盘上的文件仓库中每一个目录就是我们所说的工作区(不包含隐藏的.git目录/.svn目录...),如下图就是一个工作区

|-版本库(Repository)

工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。

Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD

(援引自:http://www.liaoxuefeng.com 廖雪峰的官方网站)

那么stage是做什么的呢?上图中,显示了我们使用git add命令把工作区的文件添加到版本库中stage暂存区,可以看出stage中的文件是工作区的子集,如果想版本库中文件更新,必须使用git commit命令将暂存区中文件刷新到master分支中(准确的说,应该是HEAD指针指向的分支)。

从上图可以得出2个结论:

#1.stage暂存区只在正向的提交过程中,方便记录工作区所有的变动,再一次性提交到库中;

#2.要想自己的工作区的变动提交到库中,必须使用2次命令,add和commit

posted @ 2017-03-07 09:12  元笙  阅读(172)  评论(0编辑  收藏  举报