Git的使用教程(二)查看狀態(tài)與文件比較
?在實際工作當中,我們可能經(jīng)常需要對文件做出各種各樣的調整,例如新增,修改,刪除等等,但是我們不可能準確的記住我們修改了什么文件,修改了哪些內容,但是這些修改操作又對我們十分重要,我們需要知道我們做了什么調整,好有針對性的做出下一步的計劃,此時今天要講的命令就派上用場了。 ? ?
? ? 命令:git status
? ? 倉庫中的文件可能存在各式各樣的狀態(tài),例如有的是新增未添加,有的是添加卻未被提交,有的是已提交被修改。為了掌握這些文件的狀態(tài),我們需要借助于“git status”命令,它可以讓我們時刻掌握倉庫的當前狀態(tài)。
? ? 新增加文件后未添加到倉庫,需要使用git add來添加到倉庫。
? ? 雖然已經(jīng)添加到倉庫后,但是沒有提交到倉庫,需要使用git commit來提交到倉庫。
? ? 新增加的文件已添加并且提交到了倉庫,此時工作目錄是干凈,也就是說沒有什么需要被添加和提交的操作。
? ? 已提交過的文件被修改了,需要再次添加和提交。
? ??溫馨提示:
? ? 即使一個文件已經(jīng)被添加和提交入庫,但是提交后有所修改的話,仍需要再次添加和提交(即是重復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的時候,可能會出現(xiàn)" No newline at the end of file"的字樣,這是因為這個文件的結尾沒有空行,我們只需要加一個空行該提示就會消失。





