工作区:我们在电脑里面能看到的目录,也就是我们用git init 命令初始化的那个目录。里面包含要添加文件和需要提交的文件,在这个目录下的文件,修改和变更,我们的git都能感知的到。

版本库:工作区有一个隐藏的目录“.git”,这个不算是工作区,而是Git的版本库,Git的版本库里存了很多的东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们

自动创建的第一个分支master,以及指向master的一个指针叫HEAD.

git add命令实际上是要把提交的所有修改放到暂存区(Stage),然后,执行git commit就可以一次性的把暂存区的所有的修改提交到分支。

一旦提交后,如果你没有对工作区做任何修改,那么工作区就是“干净的”。用git status命令查看一下:

$ git status
On branch master
nothing to commit, working directory clean

一旦提交以后,暂存区就没有任何内容了。

小结:暂存区是Git非常重要的概念,只要搞清楚暂存区,就弄明白了Git的很多操作到底干了什么。

第一次修改->git add->第二次修改->git commit

以上的过程会发生什么?

这样做的话,第二次的修改是不会被提交的,如果每次的修改不add到暂存区,那就不会加入commit中。

LV@LV-PC MINGW32 /c/gitrepository (master)
$ git add readme.txt

LV@LV-PC MINGW32 /c/gitrepository (master)
$ cat readme.txt q
This is a git repository
Git is a GPL software
git is  a distribute control system
第一次修改cat: q: No such file or directory

LV@LV-PC MINGW32 /c/gitrepository (master)
$ git add readme.txt

LV@LV-PC MINGW32 /c/gitrepository (master)
$ cat readme.txt
This is a git repository
Git is a GPL software
git is  a distribute control system
第一次修改
第二次修改

LV@LV-PC MINGW32 /c/gitrepository (master)
$ git commit -m "this is fourth commit"
[master df9bdf7] this is fourth commit
 1 file changed, 3 insertions(+), 1 deletion(-)

LV@LV-PC MINGW32 /c/gitrepository (master)
$ git status
On branch master
nothing to commit, working directory clean

Git 暂存区的概念的更多相关文章

  1. 【原创】关于Git暂存区的理解

    关于Git暂存区的理解      暂存区可以说是Git的三大重要的区域之一,另外两个分别是工作目录和Git仓库,所以说对暂存区的深入理解可以帮助我们理解很多Git命令背后隐藏的工作原理.今天,本文将以 ...

  2. 关于Git的暂存区这个概念的理解.

    Git中的暂存区成为stage或者是index.可以理解成一个"提交任务".Git暂存区是Git最成功的设计之一,但是也是最难理解的. 暂存区是一个介于工作区和版本库的中间状态.当 ...

  3. 第二节《Git暂存区》

    在上一节中我们的demo版本库经历了一次提交,我们可以使用git og --stat查看一下提交日志. [root@git demo]# git log --statcommit 986a1bd458 ...

  4. Git学习之Git 暂存区

    ============================= 修改文件后是否可以直接提交 ============================ (1) 向文件中追加一行内容  $ echo &quo ...

  5. git 填坑之 git 暂存区忽略文件

    今天修改公司项目文件的时候,发现被修改的文件的始终不显示已经被修改. 本来是想要把 KWh 改成 kWh,然后执行 git status 后,没有文件修改记录: 开始分析究竟是因为什么导致的这样诡异的 ...

  6. idea 编辑器Git暂存区的使用

    平时在开发时候 一般线上环境和线下环境区别会很大,所以一下线下的自己测试环境的代码没有如果提交会影响线上环境,所以一般都会使用git的一个暂存区作为临时存放不需要提交的代码,这样每次提交代码都可以在不 ...

  7. git暂存区

    在使用git开发时,有三个概念需要知道,工作区,暂存区和版本库.工作区就是直接进行操作的地方,版本库是要将修改提交的地方,那么暂存区是干什么的呢?下面将对暂存区深入研究. 一.修改后能直接提交吗? 在 ...

  8. 完整学习git二 git 暂存区

    1 git log 命令查看提交日志信息 git log --pretty-fuller #详细查看 git log --stat #查看每次提交的文件变更 git log --pretty-onli ...

  9. Git 暂存区

    可以用 git log 查看提交日志(附加的 --stat 参数可以看到每次提交的文件变更统计). $ cd /path/to/my/workspace/demo $ git log --stat 如 ...

随机推荐

  1. jQuery获取当前对象标签名称

    获取当前对象标签名称 $(".classname")[0].tagName;

  2. USACO 1.3 Ski Course Design

    Ski Course Design Farmer John has N hills on his farm (1 <= N <= 1,000), each with an integer ...

  3. .net core 12

  4. Sass编译Css

    1.我新建了一个项目工程 2.路径在 3.编译 sass 要编译的sass文件名.scss ../存放编译后的css目录/编译后的css名称.css 4.刷新项目,就编译出来了 6.当然,你要嫌麻烦的 ...

  5. iOS开发QQ空间半透明效果的实现

    //1.首先我们可以确定的是cell的半透明, /* white The grayscale value of the color object, specified as a value from ...

  6. html5 article标签举例

    <article> 是html5中引入的新标签可以实现正向反向列表排序功能 使用以前的html4进行列表排序,可以使用下列形式 <h1>Top Three Teams</ ...

  7. hdu_5919_Sequence II(主席树)

    题目链接:hdu_5919_Sequence II 题意: 给你n个数,m个询问,每次问你一个区间中每一种数在区间中第一次出现的位置的中位数,强制在线. 题解: 一看就是主席树搞,不过这里要询问第一次 ...

  8. 有关app的一些小知识

    META相关 1. 添加到主屏后的标题(IOS)<meta name="apple-mobile-web-app-title" content="标题"& ...

  9. 【其他】MySql数据库的安装与卸载

    一.安装 1.首先下载安装包,包含服务端和客户端 2.添加用户组.用户 secondary1:~ # groupadd mysql secondary1:~ # useradd -g mysql -d ...

  10. AFNetworking 关于JSON text did not start with array or object and option to allow fragments not set 错误

    AFHTTPSessionManager *manager =[AFHTTPSessionManager manager]; [manager GET:@"http://www.baidu. ...