git clean(轉載)

git clean命令用來從你的工做目錄中刪除全部沒有tracked過的文件.git

git clean常常和git reset --hard一塊兒結合使用. 記住reset隻影響被track過的文件, 因此須要clean來刪除沒有track過的文件. 結合使用這兩個命令能讓你的工做目錄徹底回到一個指定的<commit>的狀態.緩存

用法

git clean -n

是一次clean的演習, 告訴你哪些文件會被刪除. 記住他不會真正的刪除文件, 只是一個提醒.code

git clean -f  

刪除當前目錄下全部沒有track過的文件. 他不會刪除.gitignore文件裏面指定的文件夾和文件, 無論這些文件有沒有被track過.blog

git clean -f <path>

刪除指定路徑下的沒有被track過的文件.開發

git clean -df

刪除當前目錄下沒有被track過的文件和文件夾.it

git clean -xf

刪除當前目錄下全部沒有track過的文件. 無論他是不是.gitignore文件裏面指定的文件夾和文件.編譯

討論

git reset --hard和git clean -f是一對好基友. 結合使用他們能讓你的工做目錄徹底回退到最近一次commit的時候.class

 

git clean對於剛編譯過的項目也很是有用. 如, 他能輕易刪除掉編譯後生成的.o和.exe等文件. 這個在打包要發佈一個release的時候很是有用.打包

例子

下面的例子要刪除全部工做目錄下面的修改, 包括新添加的文件. 假設你已經提交了一些快照了, 並且作了一些新的開發.項目

git reset --hard
git clean -df

運行後, 工做目錄和緩存區回到最近一次commit時候一摸同樣的狀態, git status會告訴你這是一個乾淨的工做目錄, 又是一個新的開始了.

相關文章
相關標籤/搜索