在工做中遇到一個問題,使用git add . 想把不少修改文件一塊兒加進去,不慎把untrack的文件例如bin/ 下的文件和gen/下的文件等不須要check的文件也加了進去。git
這時若是要執行git reset --hard +SHA1號的話,以前的改動文件都會丟失。緩存
因此能夠經過如下命令來撤銷掉已經add進去的文件:字體
git rm --cached +文件路徑 ->這個命令不會刪除物理文件,只是將已經add進緩存的文件刪除。it
git rm --f +文件路徑 ->這個命令不只將文件從緩存中刪除,還會將物理文件刪除,因此使用這個命令要謹慎。文件
若刪除已經添加緩存的某一個目錄下全部文件的話須要添加一個參數 -r。工作
好比我要刪除bin下面的已經加入緩存的全部文件,那我須要執行如下命令:參數
git rm -r --cached bin/
執行完畢這些文件就又稱爲untrack的文件,經過執行git status 能夠看到紅色的字體的那些文件。