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 如 ...
随机推荐
- mysql for windows zip版安装
1.将mysql_5.6.24_winx64.zip 解压到文件夹 2.增加环境变量 3.修改mysql配置文件 将mysql根目录下的my-default.ini 复制一份更名为 my.ini.修改 ...
- 发布webService
创建webservices项目 1>创建web项目>添加新建项>webService>确认 注:webservices项目相当于就是UI ******************* ...
- hdu 3631 Shortest Path
floyd算法好像很奇妙的样子.可以做到每次加入一个点再以这个点为中间点去更新最短路,效率是n*n. #include<cstdio> #include<cstring> #i ...
- jQuery切换网页皮肤并保存到Cookie示例代码
经过使用,靠谱! <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww ...
- html5权威指南:标记文字
html5权威指南-第八章-用基本的文字元素标记内容 :http://www.cnblogs.com/yc-755909659/archive/2016/10/02/5928122.html html ...
- 去掉svn与文件之间 的关联
今天在检出文件的时候,没注意检出目录 ,居然直接检出到D盘里了.然后就看到D盘上有个大大的绿勾,看起来很不舒服,想去掉. 自己看看小乌龟里好像没这功能,于是百度,一大堆都是要改和注册相关的东西,照着做 ...
- PHP验证码程序
[摘自网络,参考学习] <?php/** * vCode(m,n,x,y) m个数字 显示大小为n 边宽x 边高y * http://blog.qita.in * 自己改写记录session $ ...
- HDU_1245_Saving James Bond_最短路
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1245 题意:给一个已知直径的圆形岛,然后岛的附近是湖,湖里有一些点,以坐标的形式给出,最外层是矩形的终 ...
- 12.hibernate命名查询
1.创建如下javaweb项目结构 2.在项目的src下创建hibernate.cfg.xml主配置文件 <?xml version="1.0" encoding=" ...
- 2、为Eclipse绑定Tomcat
1.window→preferences打开属性窗口 2.点击add 3.点击Tomcat6.0 点击next 4.选择tomcat的解压目录和jdk,并点击finish 5.点击ok 6.打开ser ...