Menu
CoddyTech

Git:删除未跟踪的文件

最后更新

未跟踪的文件是指 Git 还没有管理的文件,例如构建产物、日志和临时文件。git clean 会把它们从工作区中删除。由于它会永久删除从未提交过的文件,正式用 -f 执行之前,一定要先用 -n(试运行)预览一遍。

在终端在线编辑器中试试这些命令:浏览器里就是真正的 shell,无需安装。

git clean 从工作区删除未跟踪的文件 (??),已跟踪的文件永远不会被动到。

语法

命令作用
git clean -n试运行,列出将被删除的内容
git clean -f删除未跟踪的文件(必须加强制选项)
git clean -fd同时删除未跟踪的目录
git clean -fx同时删除被忽略的文件
git clean -fdx删除所有未跟踪内容,包括目录和被忽略的文件

安全的操作流程

先预览,再删除,避免误删。

步骤命令结果
1git clean -nd查看所有将被删除的文件和文件夹
2git clean -fd确认列表无误后再删除

Git 删除未跟踪文件常见问题

Git 怎么删除未跟踪的文件?
使用 git clean。先用 git clean -n 预览将被删除的内容,再运行 git clean -f 真正删除未跟踪的文件。由于 clean 天生就是破坏性操作,必须加上 -f(强制)选项。
怎么把未跟踪的目录也一起删除?
加上 -d 选项:git clean -fd 会删除未跟踪的文件和目录。单独的 git clean -f 只删除文件,会留下空的未跟踪文件夹。
git clean 会删除被忽略的文件吗?
默认不会,.gitignore 匹配到的文件不受影响。加上 -x 才会包括它们(git clean -fx),用 -fdx 则会清除所有未跟踪的内容,包括被忽略的文件和目录。使用 -x 要小心,它可能会删掉你想保留的本地配置和构建缓存。
git clean 可以撤销吗?
不可以。git clean 会永久删除从未提交过的文件,Git 的历史中没有任何记录可以用来恢复它们。正因如此,删除之前一定要先运行 git clean -n 检查列表。
可以在线练习吗?
可以。打开终端在线编辑器,就能在浏览器里的真实 shell 中运行 git clean,无需安装。Coddy 的免费互动 Git 课程也会一步步教你管理工作区。
Coddy 编程语言插图

在 Coddy 学习 Git

开始