您的位置:首页 > 其它

【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,添加一行内容:

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,而不是其他。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: