Git的使用教程(二)查看狀態(tài)與文件比較
?在實際工作當(dāng)中,我們可能經(jīng)常需要對文件做出各種各樣的調(diào)整,例如新增,修改,刪除等等,但是我們不可能準(zhǔn)確的記住我們修改了什么文件,修改了哪些內(nèi)容,但是這些修改操作又對我們十分重要,我們需要知道我們做了什么調(diào)整,好有針對性的做出下一步的計劃,此時今天要講的命令就派上用場了。 ? ?
? ? 命令:git status
? ? 倉庫中的文件可能存在各式各樣的狀態(tài),例如有的是新增未添加,有的是添加卻未被提交,有的是已提交被修改。為了掌握這些文件的狀態(tài),我們需要借助于“git status”命令,它可以讓我們時刻掌握倉庫的當(dāng)前狀態(tài)。
? ? 新增加文件后未添加到倉庫,需要使用git add來添加到倉庫。
? ? 雖然已經(jīng)添加到倉庫后,但是沒有提交到倉庫,需要使用git commit來提交到倉庫。
? ? 新增加的文件已添加并且提交到了倉庫,此時工作目錄是干凈,也就是說沒有什么需要被添加和提交的操作。
? ? 已提交過的文件被修改了,需要再次添加和提交。
? ??溫馨提示:
? ? 即使一個文件已經(jīng)被添加和提交入庫,但是提交后有所修改的話,仍需要再次添加和提交(即是重復(fù)git add和git commit)。
? ??命令:git diff
? ? 雖然“git status”命令可以讓我們了解到哪些文件做出了調(diào)整,但是并不能清楚的告訴我們這些文件做出了什么樣的調(diào)整,這時候“git diff”命令就派上用場了。
? ? 該命令用于比較同一文件兩次修改之間的差異,再介紹該命令之前,需要先提示一點,git diff比較的是最后一次git add的內(nèi)容(old版本)和再次進(jìn)行g(shù)it add之前內(nèi)容(new版本)的比較,如果new版本較之old版本有所改動,則可以通過git diff來查看兩者差異。如果修改后又進(jìn)行了git add提交,并且此后未再對該文件進(jìn)行修改,則使用git diff不會輸出任何內(nèi)容。git diff跟文件是否被git add有關(guān),跟文件是否被git commit沒有關(guān)系。
? ? 下面就是通過git diff比較的修改前后文件的差異,其中-號代表修改前的內(nèi)容(紅色部分,最后一次git add時候的內(nèi)容),+號代表修改后的內(nèi)容(綠色部分,也就是當(dāng)前內(nèi)容),沒有符號代表該內(nèi)容未被修改(白色部分)。
? ??溫馨提示:
? ? 在windows下使用git diff的時候,可能會出現(xiàn)" No newline at the end of file"的字樣,這是因為這個文件的結(jié)尾沒有空行,我們只需要加一個空行該提示就會消失。





