转载廖雪峰的官方网站
工作区(Working Directory)
就是在你电脑中可以看到的目录比如我们这里的learngit
版本库(Repository)
在工作区中含有一个隐藏的目录.git
,这个不是工作区,而是Git的版本库。
在Git的版本库中存放了很多东西,其中最重要的就是被称为stage(或index)的暂存区,还有Git为我们自动创建的第一个分支master
,以及一个指向master
的指针HEAD
其中,分支和HEAD
后面会讲。
前面我们将文件添加到Git版本库中分为两步。
第一步使用git add
把文件添加进去,实际就是将文件添加到暂存区中;
第二步使用git commit
提交修改,实际上就是将暂存区所有的内容添加到当前分支。
因为我们在创建Git版本库的时候,Git自动会为我们创建一个master
分支,所以,现在git commit
就是往master
分支上提交。
你可以简单的理解为,先将需要提交修改的文件统统放入到暂存区,然后一次性提交暂存区的所有修改。
下面我们在实践一下:
先对readme.txt
进行修改,比如添加一行
|
|
然后在添加一个文件LICENSE
文本文件
|
|
先使用git status
查看状态
|
|
Git非常清楚的告诉我们,readme.txt
被修改了,LICENSE
还从来没有被添加过,所以它的状态为Untracked
。
现在使用命令git add
,把readme.txt
和LICENSE
文件都添加到暂存区,用git status
查看一下状态.
|
|
现在暂存区的状态就变为
所以,git add
命令实际上是将要提交的所有的修改放倒暂存区(stage),然后,执行git commit
就可以一次性把暂存区所有的修改提交到分支。
|
|
一旦提交后,如果没有对工作区做任何修改,那么工作区就是干净的。
|
|
现在版本库就变为
小结
暂存区是Git非常重要的概念,弄明白了暂存区,就弄明白了Git的很多操作到底干了什么。
没弄明白暂存区是怎么回事的童鞋,请向上滚动页面,再看一次。