git 清理未跟踪文件

在 Git 中,“清理未跟踪文件”指的是删除工作区里那些 没有被 Git 跟踪(untracked) 的文件和文件夹(比如编译生成的文件、node_modules、log 文件、.env 等)。

常用命令如下:

1. 最常用的彻底清理(推荐先预览)

# 先预览一下会删除哪些文件(强烈建议先执行这个!)
git clean -n

# 或者更详细预览(显示目录也一起删)
git clean -nd

# 确认无误后真正删除
git clean -f

# 删除未跟踪的文件 + 未跟踪的目录(最常用)
git clean -fd

# 连 .gitignore 里忽略的文件也一起删(极度危险,常用于彻底清理)
git clean -fdx

命令参数详解

参数 含义 常用组合
-n 预览(dry-run),只显示要删什么,不真删 git clean -nd
-f 强制执行(必须加,否则 Git 拒绝运行) 必须加
-d 删除未跟踪的目录(不加只删文件) 几乎总是需要
-x 连被 .gitignore 忽略的文件也删除 慎用!
-X 只删除被 .gitignore 忽略的文件 很少用

常见场景推荐命令

场景 推荐命令 说明
刚克隆的项目,想删掉所有垃圾文件 git clean -fdx 最干净,但会删 .gitignore 里的东西(如 node_modules)
只想删明显垃圾,不动忽略的文件 git clean -fd 安全很多
想先看看会删什么 git clean -nd-nfd 预览
交互式一个一个确认是否删除 git clean -id-ifd 适合新手

一键彻底重置项目到最干净状态(相当于刚 git clone 下来)

git reset --hard          # 丢弃所有本地修改
git clean -fdx            # 删除所有未跟踪和忽略的文件

注意事项(非常重要!)

  • git clean 删除的文件 无法恢复(除非你有备份或用数据恢复工具)。
  • 永远先用 git clean -n 预览一下!
  • 重要文件(如 .env、配置文件)如果没加进 Git,千万别乱用 -x

举个例子(前端项目最常用):

git clean -nd      # 先看看
git clean -fd      # 删除未跟踪的文件和目录(保留 node_modules 如果在 .gitignore)
# 或
git clean -fdx     # 连 node_modules 也一起删,项目变得超级干净
posted @ 2025-11-20 09:11  牛奔  阅读(25)  评论(0)    收藏  举报