本帖最后由 NullPointer 于 2016-12-15 11:00 编辑
工作区和暂存区
1、Git和其他版本控制系统(如SVN)不同之处就在于Git有暂存区的概念。
2、工作区(Working Directory):说直接点就是电脑上的“破”普通文件夹。
3、版本库(Repository):
git init之后,文件夹内会生成一个.git的隐藏文件夹。这个正是git版本库。这里面存储了很多东西,最主要的是stage(也叫index)的暂存区,还有Git为我们自动创建的第一分支master,以及一个指向master的指针HEAD,如下图:
PS:分支和HEAD不懂没关系,以后我会讲。
由上图明显可发现如下:
提交一个文件需要先add在commit
3.1、add的过程是将文件添加到stage暂存区,而并没有真正的提交到master,可以add多个文件到暂存区
3.2、当执行commit才会将暂存区所有的文件全部真正提交到master
Demo:我们在写个文件LICENSE,内容随便写
先用git status查看
Git非常清楚地告诉我们,readme.txt被修改了,而LICENSE还从来没有被添加过,所以它的状态是Untracked。现在,使用两次命令git add,把readme.txt和LICENSE都添加后,用git status再查看一下:
现在,暂存区的状态就变成这样了:
一旦提交后,如果你又没有对工作区做任何修改,那么工作区就是“干净”的:
现在版本库变成了这样,暂存区就没有任何内容了:
|