git工作区和暂存区

2020-01-20 git

使用git init命令可以创建一个版本库,同时系统自动创建唯一分支master。

代码如下:

1
2
$ git init
Initialized empty Git repository in E:/git-ant/.git/

使用git status命令查看一下当前状态:

1
2
3
4
5
6
$ git status
On branch master
 
No commits yet
 
nothing to commit (create/copy files and use "git add" to track)

可以看到我们当前在master分支。

在前面的章节已经多次提到工作区和暂存区,图示如下:

aid[1041]

工作区:

工作区就是执行git init命令所在的目录,我们要修改的文件就在此目录,但是并不包括.git目录

a:3:{s:3:\"pic\";s:43:\"portal/201807/15/092153lrox1mxjsrdc77dq.jpg\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}
 

版本库:

工作区根目录下有一个默认隐藏的目录.git,它并不属于工作区,而是版本库(Repository)。

版本库中内容很多,并且都很重要,有两个是我们实际操作中经常要遇到的,那就是暂存区(也可以称之为stage或者index)和分支,HEAD是一个指针,指向当前所在的分支(master)。

将文件最终提交到版本库基本流程如下:

(1).git add命令将工作区未跟踪和修改文件提交到暂存区。

(2).git commit命令将暂存区内容提交到当前版本。暂存区就如同一个临时性仓库,可以将来自工作区的新文件或者修改文件暂时存放起来,然后统一提交到分支。
 

暂存区存在的必要性:

有些朋友感觉暂存区多余,其实并非如此,通过这个过渡性区域可以使提交更加条理,避免无用琐碎提交。

举个比较生活化的例子,需要将一车放置杂乱无章的各类货物有序的放入仓库,最好的办法是将货物先有条理的整理到仓库门口空地上,这个空地相当于暂存区,然后再将货物用叉车运到仓库。还有一个作用就是可以更加方便的对文件进行版本管理,比如版本的回溯,这个后面会文章会介绍。

 

上一篇:git清空暂存区