参数详情
-d除了未跟踪的文件外,还删除未跟踪的目录。如果未跟踪的目录由另一个 Git 仓库管理,则默认不会删除。如果你确实想删除此类目录,请使用-f选项两次。-f, --force如果 Git 配置变量clean.requireForce没有设置为false,则git clean将拒绝删除文件或目录,除非给定-f、-n或-i。Git 将拒绝删除包含.git子目录或文件的目录,除非给定第二个-f。-i, --interactive交互式提示删除每个文件。-n, --dry-run仅显示将要删除的文件列表,而不实际删除它们。-q, --quiet仅显示错误,不显示成功删除的文件列表。
19.1 交互式清理
git clean -i
此命令会打印出将要删除的项目,并通过以下命令提示确认:
Would remove the following items:
folder/file1.py
folder/file2.py
*** Commands ***
1: clean
2: filter by pattern
3: select by numbers
4: ask each
5: quit
6: help
What now>
交互式选项 -i 可以与其他选项(如 -X、-d 等)一起使用。
19.2 强制删除未跟踪的文件
git clean -f
此命令将删除所有未跟踪的文件。
19.3 清理被忽略的文件
git clean -fX
此命令将从当前目录及其所有子目录中删除所有被忽略的文件。
git clean -Xn
此命令将预览将要清理的文件。
19.4 清理所有未跟踪的目录
git clean -fd
此命令将删除所有未跟踪的目录及其内部的文件。它将从当前工作目录开始,并遍历所有子目录。
git clean -dn
此命令将预览将要清理的目录。