Git(三):管理修改

簡述:

    現在,假定你已經完全掌握了暫存區的概念。下面,我們要討論的就是,爲什麼Git比其他版本控制系統設計得優秀,因爲Git跟蹤並管理的是修改,而非文件。你會問,什麼是修改?比如你新增了一行,這就是一個修改,刪除了一行,也是一個修改, 更改了某些字符,也是一個修改,刪了一些又加了一些,也是一個修改,甚至創建一個新文件,也算一個修改。爲什麼說Git管理的是修改,而不是文件呢?我們還是做實驗。

實操:

    第一步,對readme.txt做一個修改,比如加一行內容:“第四次添加文字信息”。
    第二步:修改之後我們使用git add readme.txt添加到暫存區。
         
    第三步,再對readme.txt做修改添加一行文字:“第五次修改文字信息”。
          
    第四步:提交所有修改:git commit -m"提交第四次和第五次文本文字修改"
         
    第五步:查看提交之後的狀態:git status
          
   “Changes not staged for commit”這行說明已跟蹤文件的內容發生了變化,但還沒有放到暫存區。咦,怎麼第五次的修改沒有被提交?
    別激動,我們回顧一下操作過程:
        第四次修改 -> git add -> 第五次修改 -> git commit。
    你看,我們前面講了,Git管理的是修改,當你用“git add”命令後,在工作區的第四次修改被放入暫存區,準備提交,但是,在工作區的第五次修改並沒有放入暫存區,所以,“git commit”只負責把暫存區的修改提交了,也就是第四次的修改被提交了,第五次 的修改不會被提交。
   提交後,用“git diff HEAD -- readme.txt命令可以查看工作區和版本庫裏面最新版本的區別:
         
   可見,第五次修改確實沒有被提交。那怎麼提交第五次修改呢?你可以繼續add再commit,也可以彆着急提交第四次修改,先add第五次修改,再commit,就相當於把兩次修改合併後一塊提交了:
             第四次修改 -> add -> 第五次修改 -> add -> commit。
         
    好,現在,把第五次修改提交了,然後開始小結。

 小結 :

     現在,你又理解了Git是如何跟蹤修改的,每次修改,如果不add到暫存區,那就不會加入到commit中。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章