Git 暂存区的概念
工作区:我们在电脑里面能看到的目录,也就是我们用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 暂存区的概念的更多相关文章
- 【原创】关于Git暂存区的理解
关于Git暂存区的理解 暂存区可以说是Git的三大重要的区域之一,另外两个分别是工作目录和Git仓库,所以说对暂存区的深入理解可以帮助我们理解很多Git命令背后隐藏的工作原理.今天,本文将以 ...
- 关于Git的暂存区这个概念的理解.
Git中的暂存区成为stage或者是index.可以理解成一个"提交任务".Git暂存区是Git最成功的设计之一,但是也是最难理解的. 暂存区是一个介于工作区和版本库的中间状态.当 ...
- 第二节《Git暂存区》
在上一节中我们的demo版本库经历了一次提交,我们可以使用git og --stat查看一下提交日志. [root@git demo]# git log --statcommit 986a1bd458 ...
- Git学习之Git 暂存区
============================= 修改文件后是否可以直接提交 ============================ (1) 向文件中追加一行内容 $ echo &quo ...
- git 填坑之 git 暂存区忽略文件
今天修改公司项目文件的时候,发现被修改的文件的始终不显示已经被修改. 本来是想要把 KWh 改成 kWh,然后执行 git status 后,没有文件修改记录: 开始分析究竟是因为什么导致的这样诡异的 ...
- idea 编辑器Git暂存区的使用
平时在开发时候 一般线上环境和线下环境区别会很大,所以一下线下的自己测试环境的代码没有如果提交会影响线上环境,所以一般都会使用git的一个暂存区作为临时存放不需要提交的代码,这样每次提交代码都可以在不 ...
- git暂存区
在使用git开发时,有三个概念需要知道,工作区,暂存区和版本库.工作区就是直接进行操作的地方,版本库是要将修改提交的地方,那么暂存区是干什么的呢?下面将对暂存区深入研究. 一.修改后能直接提交吗? 在 ...
- 完整学习git二 git 暂存区
1 git log 命令查看提交日志信息 git log --pretty-fuller #详细查看 git log --stat #查看每次提交的文件变更 git log --pretty-onli ...
- Git 暂存区
可以用 git log 查看提交日志(附加的 --stat 参数可以看到每次提交的文件变更统计). $ cd /path/to/my/workspace/demo $ git log --stat 如 ...
随机推荐
- jQuery获取当前对象标签名称
获取当前对象标签名称 $(".classname")[0].tagName;
- 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 ...
- .net core 12
- Sass编译Css
1.我新建了一个项目工程 2.路径在 3.编译 sass 要编译的sass文件名.scss ../存放编译后的css目录/编译后的css名称.css 4.刷新项目,就编译出来了 6.当然,你要嫌麻烦的 ...
- iOS开发QQ空间半透明效果的实现
//1.首先我们可以确定的是cell的半透明, /* white The grayscale value of the color object, specified as a value from ...
- html5 article标签举例
<article> 是html5中引入的新标签可以实现正向反向列表排序功能 使用以前的html4进行列表排序,可以使用下列形式 <h1>Top Three Teams</ ...
- hdu_5919_Sequence II(主席树)
题目链接:hdu_5919_Sequence II 题意: 给你n个数,m个询问,每次问你一个区间中每一种数在区间中第一次出现的位置的中位数,强制在线. 题解: 一看就是主席树搞,不过这里要询问第一次 ...
- 有关app的一些小知识
META相关 1. 添加到主屏后的标题(IOS)<meta name="apple-mobile-web-app-title" content="标题"& ...
- 【其他】MySql数据库的安装与卸载
一.安装 1.首先下载安装包,包含服务端和客户端 2.添加用户组.用户 secondary1:~ # groupadd mysql secondary1:~ # useradd -g mysql -d ...
- 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. ...