1. 程式人生 > >Git的使用教程(三)檢視狀態與檔案比較

Git的使用教程(三)檢視狀態與檔案比較

    在實際工作當中,我們可能經常需要對檔案做出各種各樣的調整,例如新增,修改,刪除等等,但是我們不可能準確的記住我們修改了什麼檔案,修改了哪些內容,但是這些修改操作又對我們十分重要,我們需要知道我們做了什麼調整,好有針對性的做出下一步的計劃,此時今天要講的命令就派上用場了。    

    命令:git status

    倉庫中的檔案可能存在各式各樣的狀態,例如有的是新增未新增,有的是新增卻未被提交,有的是已提交被修改。為了掌握這些檔案的狀態,我們需要藉助於“git status”命令,它可以讓我們時刻掌握倉庫的當前狀態。

    新增加檔案後未新增到倉庫,需要使用git add來新增到倉庫。


    雖然已經新增到倉庫後,但是沒有提交到倉庫,需要使用git commit來提交到倉庫。


    新增加的檔案已新增並且提交到了倉庫,此時工作目錄是乾淨,也就是說沒有什麼需要被新增和提交的操作。


    已提交過的檔案被修改了,需要再次新增和提交。


    溫馨提示

    即使一個檔案已經被新增和提交入庫,但是提交後有所修改的話,仍需要再次新增和提交(即是重複git add和git commit)。

    命令:git diff

    雖然“git status”命令可以讓我們瞭解到哪些檔案做出了調整,但是並不能清楚的告訴我們這些檔案做出了什麼樣的調整,這時候“git diff”命令就派上用場了。

    該命令用於比較同一檔案兩次修改之間的差異,再介紹該命令之前,需要先提示一點,git diff比較的是最後一次git add的內容(old版本)和再次進行git add之前內容(new版本)的比較,如果new版本較之old版本有所改動,則可以通過git diff來檢視兩者差異。如果修改後又進行了git add提交,並且此後未再對該檔案進行修改,則使用git diff不會輸出任何內容。git diff跟檔案是否被git add有關,跟檔案是否被git commit沒有關係。

    下面就是通過git diff比較的修改前後文件的差異,其中-號代表修改前的內容(紅色部分,最後一次git add時候的內容),+號代表修改後的內容(綠色部分,也就是當前內容),沒有符號代表該內容未被修改(白色部分)。


    溫馨提示

    在windows下使用git diff的時候,可能會出現"\ No newline at the end of file"的字樣,這是因為這個檔案的結尾沒有空行,我們只需要加一個空行該提示就會消失。