参数详情

  • -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

此命令将预览将要清理的目录。