git 清理未跟踪文件

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

常用命令如下:

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

bash 复制代码
# 先预览一下会删除哪些文件(强烈建议先执行这个!)
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 下来)

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

注意事项(非常重要!)

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

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

bash 复制代码
git clean -nd      # 先看看
git clean -fd      # 删除未跟踪的文件和目录(保留 node_modules 如果在 .gitignore)
# 或
git clean -fdx     # 连 node_modules 也一起删,项目变得超级干净
相关推荐
莫成4 小时前
git相关命令查阅
git
ljh5746491198 小时前
git stash 和 git stash apply
git
慕容引刀13 小时前
告别Commit信息纠结:使用Git AI Commit插件实现规范化提交
人工智能·git·github·visual studio code·visual studio
敲代码的嘎仔1 天前
实习日志day6--实习日志day6--title命名规范化&businessType纠正&补充缺失的@Log注解&报警与通信模块补充&产出阶段总结文档
java·开发语言·人工智能·git·python·实习·大二
刘马想放假1 天前
Git 从入门到进阶:一篇吃透版本管理的实战指南
git·gitlab
开发者联盟league1 天前
git commit报错No .pre-commit-config.yaml file was found
git
猫老板的豆1 天前
git实战
git
风曦Kisaki1 天前
# Linux实战笔记-HIS项目实战Day01:版本控制与Git基础
linux·笔记·git
鲸~屿2 天前
Git上传本地文件到GitHub教学指南
git·github