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