Git学习笔记(五)---修改管理
2015-04-19 09:42
441 查看
git的设计思想并不是管理文件,而是管理修改,什么是修改呢?新增一行,删除一行,更改某些字符,删了一些又增加一些,甚至创建一个文件都是修改。
下面有一个小实验来说明这个问题:
1.对read.txt增加一行,然后添加到暂存区:
发现有一个待提交的文件。
现在再次修改read.txt文件,修改什么你随意吧。
2.现在直接执行提交:
现在再查看一下状态:
你会发现还是有未提交的,说明第二次修改并没有被提交,这是为什么?
这是因为你第一次操作把文件放到了暂存区,而第二操作你并没有执行
如果你想提交第二次修改,你可以再执行一次
总之,每次修改如果不
那么怎么插销修改呢?
1.如果现在你编辑完文件发现有不对的地方,想要插销本次修改,那么,可以用
可以看到,上面是我看了一下修改了什么地方,git提示我新加了一行,中间我用了撤销指令,然后再看文件,发现我上面添加的那一行没有了。
说明一下:
命令
一种是read.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;
一种是read.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。
现在你如果已经添加到了暂存区,发现不太对,想要撤回暂存区的内容,该怎么做呢?
用命令
我添加了文件,然后又撤回了,现在再看一下状态:
比较上面两张图不同的状态,你会发现我们把放到暂存区的文件又插销回来了,重新放回了工作区。
如果你已经提交到了版本库,那就只能用前面的所讲的版本回退功能了,自己去前面找吧。
如果我们错删了文件read.txt,那么怎么找回呢?
下面来举个例子:
1.如果我删除了工作区的read.txt文件:
如果你是误删的,怎么恢复?先来看一下状态:
因为我们的版本库还没有删除,git发现工作区与版本库不一致了,所以会提醒你read.txt已经删除,现在如果你想恢复的话,执行指令
你会发现这个文件又回来了。
但如果你就是想删除这个文件,并且在版本库中你也想删除它,那就用命令
其实删除也是修改,好好消化一下修改的指令
下面有一个小实验来说明这个问题:
1.对read.txt增加一行,然后添加到暂存区:
发现有一个待提交的文件。
现在再次修改read.txt文件,修改什么你随意吧。
2.现在直接执行提交:
现在再查看一下状态:
你会发现还是有未提交的,说明第二次修改并没有被提交,这是为什么?
这是因为你第一次操作把文件放到了暂存区,而第二操作你并没有执行
git add命令添加到暂存区,
git commit只会是把暂存区的修改给提交了,第二次没有放入暂存区的修改并不会被提交。
如果你想提交第二次修改,你可以再执行一次
git add,把暂存区的两个文件合并后再执行
git commit,这样第二次修改就会被提交。
总之,每次修改如果不
git add到暂存区,执行
git commit是不会提交本次修改的。
那么怎么插销修改呢?
1.如果现在你编辑完文件发现有不对的地方,想要插销本次修改,那么,可以用
git checkout -- file可以丢弃工作区的修改:
可以看到,上面是我看了一下修改了什么地方,git提示我新加了一行,中间我用了撤销指令,然后再看文件,发现我上面添加的那一行没有了。
说明一下:
命令
git checkout -- read.txt意思就是,把readme.txt文件在工作区的修改全部撤销,这里有两种情况:
一种是read.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;
一种是read.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。
git checkout -- file命令中的–很重要,没有
--,就变成了“创建一个新分支”的命令,我们在后面的分支管理中会再次遇到
git checkout命令。
现在你如果已经添加到了暂存区,发现不太对,想要撤回暂存区的内容,该怎么做呢?
用命令
git reset HEAD file可以把暂存区的修改撤销掉(unstage),重新放回工作区:
我添加了文件,然后又撤回了,现在再看一下状态:
比较上面两张图不同的状态,你会发现我们把放到暂存区的文件又插销回来了,重新放回了工作区。
如果你已经提交到了版本库,那就只能用前面的所讲的版本回退功能了,自己去前面找吧。
如果我们错删了文件read.txt,那么怎么找回呢?
下面来举个例子:
1.如果我删除了工作区的read.txt文件:
如果你是误删的,怎么恢复?先来看一下状态:
因为我们的版本库还没有删除,git发现工作区与版本库不一致了,所以会提醒你read.txt已经删除,现在如果你想恢复的话,执行指令
git checkout -- read.txt:
你会发现这个文件又回来了。
但如果你就是想删除这个文件,并且在版本库中你也想删除它,那就用命令
git rm删掉,并且
git commit提交一下修改:
其实删除也是修改,好好消化一下修改的指令
相关文章推荐
- Git学习笔记三--管理修改、撤销修改、删除文件
- Git学习笔记三--管理修改、撤销修改、删除文件
- git版本管理入门(学习笔记)
- Git学习笔记(标签管理)
- 【Git/Github学习笔记】Git分支管理(一)
- 学习git笔记,git,最强大的版本管理工具,没有之一。
- Git版本控制管理学习笔记4-文件管理和索引
- Git学习笔记(5)——分支管理
- GoKit3(V)学习笔记03_使用资源管理工具修改Lark7618语音唤醒词
- git的学习笔记(分支管理)
- GoKit3(V)学习笔记04_使用资源管理工具修改Lark7618数据点语音资源
- Git学习笔记(3)——撤销修改与文件删除
- git 学习之管理修改
- Git 学习笔记<本地版本库的管理> (二)
- 【Git/Github学习笔记】Git分支使用场景和标签管理、总结
- 代码版本管理-Git学习笔记(1)
- 【Git学习笔记】对已经添加到仓库的文件修改后再次提交到仓库
- 2016/01/13开始学习git:管理修改、撤销修改
- 【Git学习笔记】只有add之后的修改才能被commit
- Git学习笔记 chapter04--撤销修改和删除文件