git clean 清理未跟踪文件
git clean 命令删除工作区中未被 Git 跟踪的文件和目录。
基本用法
Bash
# 查看将被删除的文件(不实际删除)
git clean -n
git clean --dry-run
# 删除未跟踪的文件
git clean -f
# 删除未跟踪的文件和目录
git clean -fd
常用选项
| 选项 | 说明 |
|---|---|
| -n, --dry-run | 预览,不实际删除 |
| -f, --force | 强制删除文件 |
| -d | 包含目录 |
| -x | 包含被忽略的文件 |
| -X | 只删除被忽略的文件 |
| -i | 交互模式 |
使用示例
Bash
# 预览将要删除的文件
git clean -n
# 删除未跟踪的文件
git clean -f
# 删除未跟踪的文件和目录
git clean -fd
# 删除所有未跟踪文件(包括被忽略的)
git clean -fdx
# 只删除被忽略的文件
git clean -fdX
# 交互式删除
git clean -i
交互模式
Bash
$ git clean -i
Would remove the following item:
untracked_file.txt
*** Commands ***
1: clean 2: filter by pattern 3: select by numbers
4: ask each 5: quit 6: help
What now>
实用场景
清理编译产物
Bash
# 删除所有未跟踪文件(包括 .gitignore 中的)
git clean -fdx
只清理被忽略的文件
Bash
# 只删除 .gitignore 中列出的文件
git clean -fdX
安全清理
Bash
# 先预览再删除
git clean -nfd
# 确认无误后执行
git clean -fd
git clean 不可恢复,建议先用 -n 预览。与 git reset --hard 配合可彻底清理工作区。
要点总结
-n预览,不实际删除-f删除未跟踪文件-d包含目录-x包含被忽略文件-X只删除被忽略文件- 使用前先用
-n预览,避免误删
📝 发现内容有误?点击此处直接编辑