项目目录和 Git 资产保护
项目已归档 ≠ 项目缓存没有价值。 旧游戏工程、移动端应用和临时构建工作区都可能因依赖版本、编译成本或许可证要求而继续需要本地生成数据。
两种不同的原生项目处理
| 功能 | 行为 |
|---|---|
mo clean | 处理少量识别明确的 Next.js、Python、Flutter 项目缓存 |
mo purge | 在配置的项目扫描目录下找 34 类产物,分组选择后永久清理 |
purge 的默认目录包括 ~/Projects、~/GitHub、~/dev 等,另外可能发现 HOME 的一级子目录。它不等于只针对当前 Git 仓库。
明确限制扫描范围
bash
mo purge --paths1
一个典型的 ~/.config/mole/purge_paths:
text
/Users/you/Projects/ArchiveDemo
/Volumes/Workspace/Repos/OldApp1
2
2
配置后只检查选定路径的项目生成目标,避免在不相关目录发现不希望处理的内容。
哪些东西不应该被视为构建垃圾?
- Git 追踪文件、嵌套 Git 仓库。
- 署名源代码、项目配置和自定义脚本。
- 部署密钥、证书、密钥对。
- 不是 Composer 项目的
vendor,或者识别不出来源的bin。 - Unity
Assets、Packages、ProjectSettings和可能存在的项目级资源下载仓库。
即使一个目录恰好叫 build、obj 或 dist,它也不能仅凭名字获得删除许可。
最近活动判断
mo purge 默认不勾选最近 7 天有活动或状态无法确认的候选;用户可以审查候选,但无法识别或安全检查失败的对象不应继续清理。
建议
使用 mo analyze <项目路径> 了解体积;只有确定可以接受重建成本时,才通过 mo purge --dry-run 进一步检查候选。