Git:删除未跟踪的文件
最后更新
未跟踪的文件是指 Git 还没有管理的文件,例如构建产物、日志和临时文件。git clean 会把它们从工作区中删除。由于它会永久删除从未提交过的文件,正式用 -f 执行之前,一定要先用 -n(试运行)预览一遍。
在终端在线编辑器中试试这些命令:浏览器里就是真正的 shell,无需安装。
语法
| 命令 | 作用 |
|---|---|
git clean -n | 试运行,列出将被删除的内容 |
git clean -f | 删除未跟踪的文件(必须加强制选项) |
git clean -fd | 同时删除未跟踪的目录 |
git clean -fx | 同时删除被忽略的文件 |
git clean -fdx | 删除所有未跟踪内容,包括目录和被忽略的文件 |
安全的操作流程
先预览,再删除,避免误删。
| 步骤 | 命令 | 结果 |
|---|---|---|
| 1 | git clean -nd | 查看所有将被删除的文件和文件夹 |
| 2 | git 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 课程也会一步步教你管理工作区。