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 也一起删,项目变得超级干净
相关推荐
Albert Edison8 分钟前
【Git】多人协作二(不同分支下)
git·elasticsearch·svn·github
C+++Python2 小时前
如何使用 VS Code 进行 Git 管理?
git
用户3835514240283 小时前
git 删除历史记录或历史大文件后 提交历史记录到新的仓库
git
kqz20143 小时前
主分支下某个文件夹的git记录同步到开发分支
git
午安~婉5 小时前
整理Git
前端·git
飞翔沫沫情5 小时前
关于在Jenkins 的job 中隐藏shared library 共享库相关的Git信息
运维·git·jenkins
wang6021252186 小时前
Git部署项目配置密钥-Linux系统
linux·运维·git
Knight_AL7 小时前
Git 版本回退/撤销/重置:CheckOut VS Revert VS Reset
git
jayaccc17 小时前
Git命令大全:从入门到精通
大数据·git·elasticsearch
论迹19 小时前
【Git】-- Git安装 & 卸载(ubuntu)
git·ubuntu·elasticsearch