git clean
命令用來從你的工作目錄中刪除所有沒有tracked過的文件。
git clean
經常和 git reset --hard
一起結合使用。記住reset隻影響被track過的文件,所以需要clean來刪除沒有track過的文件。結合使用這兩個命令能讓你的工作目錄完全回到一個指定的<commit>
的狀態。
用法:
git clean -n
是一次clean的演習, 告訴你哪些文件會被刪除. 記住他不會真正的刪除文件, 只是一個提醒
git clean -f
刪除當前目錄下所有沒有track過的文件. 他不會刪除.gitignore文件裏面指定的文件夾和文件, 不管這些文件有沒有被track過
git clean -f <path>
刪除指定路徑下的沒有被track過的文件
git clean -df
刪除當前目錄下沒有被track過的文件和文件夾
git clean -xf
刪除當前目錄下所有沒有track過的文件. 不管他是否是.gitignore文件裏面指定的文件夾和文件
git reset --hard
和 git clean -f
是一對好基友。結合使用他們能讓你的工作目錄完全回退到最近一次commit的時候
git clean對於剛編譯過的項目也非常有用。如,他能輕易刪除掉編譯後生成的.o和.exe等文件。這個在打包要發佈一個release的時候非常有用
下面的例子要刪除所有工作目錄下面的修改,包括新添加的文件。假設你已經提交了一些快照了,而且做了一些新的開發
git reset --hard
git clean -df
運行後,工作目錄和緩存區回到最近一次commit時候一摸一樣的狀態,git status會告訴你這是一個乾淨的工作目錄,又是一個新的開始了!