您的位置:首页 > 其它

Git-工作区和暂存区

2018-01-05 10:17 281 查看
Git和其他版本控制系统不同的一个概念就是暂存区
首先先了解一下什么是工作区?
工作区就是我们在电脑里能看到的目录,比如说我的learngit文件夹就是一个工作区



再来看什么是版本库?
前面咱们提到使用git init命令把learngit目录变成了Git可以管理的仓库,在这个文件下有一个隐藏的文件.git,我们看不到所以他不是工作区,可以使用ls -ah查看到,这个目录是Git用来跟踪管理版本库的,这个就是Git的版本库
在Git的版本库里面存放了很多重要的东西,其中一个很重要的就是我们常说的暂存区(stage),还有一个就是Git为我们自动创建的第一个分支master,和一个指向master的指针HEAD



我们知道向Git版本库里面添加文件的时候分为两个步骤:
第一个步骤:使用git add命令把文件添加进去,其实这个操作就是把文件修改添加到暂存区(stage)里面
第二个步骤: 使用git commit -m 提交更改,其实这个操作就是把暂存区里面的所有内容提交到当前分支里面

在我们创建Git版本库的时候,Git为我们自动创建了第一个分支master,所以,现在git commit命令就是向master分支上提交更改
所以可以简单的理解为,需要提交的文件修改统统存放到暂存区,然后使用git commit命令一次性提交暂存区的所有修改

我们继续修改readme.txt 文件 ,增加一行 :



然后我们在工作区添加一个新文件LICENSE,内容不要求



使用git status查看状态:



Git非常清楚地告诉我们,readme.txt被修改了,但是LICENSE还从来没有被添加,所以他的状态是untracked
现在使用两次命令git add把readme.txt和LICENSE都添加后,再使用git status再查看一下:



所以,现在暂存区的状态已经变成了如下图所示:



所以,git add命令可以理解为将文件修改提交到暂存区(stage),然后使用git commit一次性将暂存区的所有文件修改提交到当前分之,现在开始执行  git  commit命令:git commit -m 'understand how stage works'



成功提交之后,如果对于工作区没有做任何修改的话,那么现在工作区就是干净的,使用git status 查看状态:



在执行完git commit命令之后,再来看看Gitb版本库的状态:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Git