[TOC] #### 1. git clean 介绍 --- git clean 命令用于删除工作目录中没有被 tracked 的文件 这个命令很多人都不知道,也不去用它,而是通过手动去删除这些文件 这个命令一定要慎用,当你对这个命令非常熟悉,再到正式项目中使用,因为一旦用错,删除的文件没办法找回 #### 2. git clean 使用 --- `-n, --dry-run` 显示将要被删除的文件。这个命令是 clean 的一次演习,告诉你哪些文件会被删除 ``` git clean -n ``` `-f, --force` 删除当前目录下没有被 tracked 的文件 ``` # 不会删除 .gitignore 文件里面指定的文件和目录 git clean -f # 删除指定目录下没有被 tracked 的文件 git clean -f <path> ``` `-d` 删除目录 ``` # 删除当前目录下没有被 tracked 的文件和目录 git clean -df ``` #### 3. clean 和 reset 命令 --- `clean` 和 `reset` 命令结合使用,它们能让工作目录完全回到一个指定的 commit 状态 ``` # 将没有被 tracked 的文件和目录删除 git clean -df # 将已经被 tracked 的文件和目录回退 git reset --hard <commit-id> ```