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 也一起删,项目变得超级干净
相关推荐
gwf21611 小时前
SSD读写速度深度解析:顺序读写vs随机读写、IOPS、延迟,你的硬盘性能到底怎么看?
git·嵌入式硬件·缓存·github·智能硬件
西邮彭于晏11 小时前
图文详解:Git分支创建、合并与冲突解决|新手零门槛完整教程
大数据·git·elasticsearch
nuisthou16 小时前
git常用命令总结
git
西邮彭于晏16 小时前
Git 标签(Tag)与版本发布完整指南|附全场景命令速查表
大数据·git·elasticsearch
潘正翔17 小时前
k8s进阶_Harbor镜像仓库
git·云原生·容器·kubernetes·gitee·github
InfinitePlus19 小时前
Git基本操作-命令行
git
茉莉玫瑰花茶19 小时前
TCP 全连接队列与 tcpdump 抓包
git·github·tcp·tcpdump
炸膛坦客21 小时前
Git 和 GitHub:(十四)rebase 到某个有新提交的远程仓库的分支
git·github
炸膛坦客1 天前
Git 和 GitHub:(十二)基于远程仓库的某一个分支的某一笔提交创建新分支
git·github
炸膛坦客2 天前
Git 和 GitHub:(十三)改分支名
git·github