管理修改
現在,假定你已經完全掌握了暫存區的概念。下面,我們要討論的就是,為什么Git比其他版本控制系統設計得優秀,因為Git跟蹤并管理的是修改,而非文件。
你會問,什么是修改?
比如你新增了一行,這就是一個修改,刪除了一行,也是一個修改,更改了某些字符,也是一個修改,刪了一些又加了一些,也是一個修改,甚至創建一個新文件,也算一個修改。
為什么說Git管理的是修改,而不是文件呢?我們還是做實驗。第一步,對readme.txt做一個修改,比如加一行內容:
i am sxh然后,添加:
git add readme.txt
git status
然后,再修改readme.txt添加一行:
i am ljy提交:
git commit -m"第5次提交"
提交后,再看看狀態:
咦,怎么第二次的修改沒有被提交?
別激動,我們回顧一下操作過程:
第一次修改 -> git add -> 第二次修改 -> git commit
你看,我們前面講了,Git管理的是修改,當你用git add命令后,在工作區的第一次修改被放入暫存區,準備提交,但是,在工作區的第二次修改并沒有放入暫存區,所以,git commit只負責把暫存區的修改提交了,也就是第一次的修改被提交了,第二次的修改不會被提交。
提交后,用git diff HEAD -- readme.txt命令可以查看工作區和版本庫里面最新版本的區別:
git diff HEAD -- readme.txt
可見,第二次修改確實沒有被提交。
那怎么提交第二次修改呢?
你可以繼續git add再git commit,也可以別著急提交第一次修改,先git add第二次修改,再git commit,就相當于把兩次修改合并后一塊提交了:
第一次修改 -> git add -> 第二次修改 -> git add -> git commit
好,現在,把第二次修改提交了,然后開始小結。
小結
現在,你又理解了Git是如何跟蹤修改的,每次修改,如果不用git add <file>到暫存區,那就不會commit到本地git本地倉庫中。
總結
- 上一篇: 第八篇: 消息总线(Spring Clo
- 下一篇: Intellij IDEA中Mybati