>> >> >> Reference << << << <<<<<<Ref>>>>>>
clean
Modified: 2025-12-31 | Author:ljf12825

git clean用来清理工作区中未被追踪的文件和目录
它会删除那些不在Git索引里、也不在.gitignore里、且未被Git管理的文件
这些文件通常是:

这是一个危险命令,被它删除的文件通常无法恢复,它不涉及Git的历史记录,直接删文件

基本用法

常见组合

git clean -nd
git clean -fd
git clean -fdx
git clean -fdX

原理

git clean的逻辑类似于集合差集计算

  1. 收集Git已知的文件集合
  1. 扫描工作目录
  1. 差集运算
  1. 过滤规则
  1. 调用系统API删除

注意事项

  1. 不可逆操作
  2. 不会影响已追踪文件、暂存区和commit中的东西
  3. .gitignore.git/info/exclude标记不想被误删的文件