Git 时光穿梭鸡 管理修改
Git跟踪并管理的是修改,而非文件。
什么是修改?
比如你新增了一行,这就是一个修改,
删除了一行,也是一个修改,
更改了某些字符,也是一个修改,
删了一些又加了一些,也是一个修改,
甚至创建一个新文件,也算一个修改。
为什么说Git管理的是修改,而不是文件呢?
我们还是做实验。
第一步,对readme.txt做一个修改,比如加一行内容:
Git is a distributed version control system.
Git is free software distributed under the GPL.
Git has a mutable index called stage.
Git tracks changes.
然后缓存第一次改动
然后 第二次修改readme.txt
Git is a distributed version control system.
Git is free software distributed under the GPL.
Git has a mutable index called stage.
Git tracks changes of files.
进行提交
提交后,再看看状态:
此时 第二次的修改没有被提交
Git管理的是修改,当你用git add
命令后,在工作区的第一次修改被放入暂存区,准备提交,
但是,在工作区的第二次修改并没有放入暂存区,
所以,git commit
只负责把暂存区的修改提交了,也就是第一次的修改被提交了,第二次的修改不会被提交。
此时 第二次修改只是存在于工作区
用 git diff HEAD -- readme.txt 或者是
命令git diff HEAD
可以查看 工作区 和 版本库 里面最新版本的区别:
那怎么提交第二次修改呢?
你可以继续git add
再git commit
,
也可以别着急提交第一次修改,先git add
第二次修改,再git commit
,就相当于把两次修改合并后一块提交了: