【Git学习笔记】只有add之后的修改才能被commit
2014-11-03 15:16
369 查看
想想,我们前面的几个笔记中,操作的流程是不是都是流程1这样的:
流程1:修改-->add-->commit。也就是说要想commit必须先要add到stage中。
那么如果按照流程2,大家想想,commit到版本库中的是修改1还是修改2?
流程2:修改1-->add-->修改2-->commit。
大家可以不用着急回答。我们可以做个试验看看。
【步骤1】修改1:修改readme.txt,添加一行内容:
【步骤3】修改2:修改readme.txt,将刚才添加的那行修改为:
经过上面三个步骤,发现目前的状态是有一个修改to be committed(等待commit),还有一个修改是not stage(也就是没有add到stage中)。
【步骤4】commit
因为commit操作只能提交被add到stage上的修改,所以执行本次commit应该提交的仅仅是修改1(已经被add到stage上了)而不是修改2(还没有add到stage上)。我们看下结果:
从结果看,commit之后,依然有“Change not staged for commit”,说明依然有修改没有被commit,为什么没有被commit呢?是因为这个修改没有被add到stage上。
我们看下工作区和版本库的区别:
可见,第二次修改确实没有被提交。
我们可以再执行一次add和一次commit,将第二次修改commit。
【总结】
为了避免出现没有被commit的修改,一定要记住在执行commit之前的操作一定是add,而不是其他。
流程1:修改-->add-->commit。也就是说要想commit必须先要add到stage中。
那么如果按照流程2,大家想想,commit到版本库中的是修改1还是修改2?
流程2:修改1-->add-->修改2-->commit。
大家可以不用着急回答。我们可以做个试验看看。
【步骤1】修改1:修改readme.txt,添加一行内容:
Git tracks changes.【步骤2】add到stage:
[code]git add readme.txt
【步骤3】修改2:修改readme.txt,将刚才添加的那行修改为:
Git tracks changes of files.这时执行git status查看版本库状态:
经过上面三个步骤,发现目前的状态是有一个修改to be committed(等待commit),还有一个修改是not stage(也就是没有add到stage中)。
【步骤4】commit
因为commit操作只能提交被add到stage上的修改,所以执行本次commit应该提交的仅仅是修改1(已经被add到stage上了)而不是修改2(还没有add到stage上)。我们看下结果:
从结果看,commit之后,依然有“Change not staged for commit”,说明依然有修改没有被commit,为什么没有被commit呢?是因为这个修改没有被add到stage上。
我们看下工作区和版本库的区别:
可见,第二次修改确实没有被提交。
我们可以再执行一次add和一次commit,将第二次修改commit。
【总结】
为了避免出现没有被commit的修改,一定要记住在执行commit之前的操作一定是add,而不是其他。
相关文章推荐
- 【Git学习笔记】将文件放入仓库只需两步add和commit
- git 学习笔记5-add和commit命令
- Git 学习笔记 -- 查看某个文件的修改历史
- 【Git学习笔记】对已经添加到仓库的文件修改后再次提交到仓库
- Git学习笔记(3)——撤销修改与文件删除
- git add之后,还没有commit,撤销add的文件。
- git commit之后发现message写错,修改办法
- git基础学习(一):创建仓库,add和commit
- Git学习笔记(3)——撤销修改和文件的删除
- Git 学习笔记--删除错误提交的commit
- 修改app.config不能马上生效(只有重启应用程序之后才能生效)的根本原因
- 《Pro Git 2》学习笔记_Chapter 10_Tree Objects&Commit_Objects
- Git学习 --> 个人常用命令add,commit以及push
- Git 学习笔记--git 查看某个文件的修改历史
- Git学习笔记 - 修改Git安装的home路径
- Git超级菜鸟学习 --> 个人项目add,commit以及push
- Git学习 --> 个人常用命令add,commit以及push
- Git学习 --> 个人常用命令add,commit以及push
- Git学习笔记三--管理修改、撤销修改、删除文件