Git和其他版本控制系统如SVN的一个不同之处就是有暂存区的概念。
工作区(Working Directory):就是你在电脑里能看到的目录,比如我的git文件夹就是一个工作区:
版本库(Repository):工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。
关系如下:
前面讲了我们把文件往Git版本库里添加的时候,是分两步执行的:
第一步是用git add把文件添加进去,实际上就是把文件修改添加到暂存区(stage);
第二步是用git commit提交更改,实际上就是把暂存区(stage)的所有内容提交到当前分支。
因为我们创建Git版本库时,Git自动为我们创建了唯一一个master分支,所以,现在,git commit
就是往master分支上提交更改。
可以简单理解为,需要提交的文件修改通通放到暂存区,然后,一次性提交暂存区的所有修改。
现在我们继续讲解一下:
例如现在我们修改一下read.txt文本,并且添加一行,并且创建一个叫LICENSE.txt的文档:
运行git status
:
你会发现有未提交的修改文件和从未添加的文件。
现在我们add一下:
现在暂存区的状态就变成这样了:
git status
显示如下:
下面执行提交:git commit
:
现在暂存区的状态就变成了下面的样子: