[TOC] #### 1. git clean 介紹 --- git clean 命令用于刪除工作目錄中沒有被 tracked 的文件 這個(gè)命令很多人都不知道,也不去用它,而是通過手動(dòng)去刪除這些文件 這個(gè)命令一定要慎用,當(dāng)你對(duì)這個(gè)命令非常熟悉,再到正式項(xiàng)目中使用,因?yàn)橐坏┯缅e(cuò),刪除的文件沒辦法找回 #### 2. git clean 使用 --- `-n, --dry-run` 顯示將要被刪除的文件。這個(gè)命令是 clean 的一次演習(xí),告訴你哪些文件會(huì)被刪除 ``` git clean -n ``` `-f, --force` 刪除當(dāng)前目錄下沒有被 tracked 的文件 ``` # 不會(huì)刪除 .gitignore 文件里面指定的文件和目錄 git clean -f # 刪除指定目錄下沒有被 tracked 的文件 git clean -f <path> ``` `-d` 刪除目錄 ``` # 刪除當(dāng)前目錄下沒有被 tracked 的文件和目錄 git clean -df ``` #### 3. clean 和 reset 命令 --- `clean` 和 `reset` 命令結(jié)合使用,它們能讓工作目錄完全回到一個(gè)指定的 commit 狀態(tài) ``` # 將沒有被 tracked 的文件和目錄刪除 git clean -df # 將已經(jīng)被 tracked 的文件和目錄回退 git reset --hard <commit-id> ```