45-git-40-clean

概述

git clean从你的工作区中删除所有没有 tracked,没有被管理过的文件。

作用是让使工作区回到一个干净的状态(一个指定的commit状态)

git clean 和 git reset --hard 结合使用。

clean 影响没有被 track 过的文件(清除未被 add 或被 commit 的本地修改)

reset 影响被 track 过的文件 (回退到上一个 commit)

说到这里,我不禁想起了restore。两者结合不就是restore吗?

命令

查看可使用git clean命令清除的文件

git clean -n

删除当前目录下所有没有 track 过的文件

不会删除 .gitignore 文件里面指定的文件夹和文件, 不管这些文件有没有被 track 过

git clean -f

删除指定路径下的没有被 track 过的文件

git clean -f <path>

删除当前目录下没有被 track 过的文件和文件夹

git clean -df

删除当前目录下所有没有 track 过的文件

不管是否是 .gitignore文件里面指定的文件夹和文件

git clean -xf