想确认未跟踪文件会不会被清掉,可以先用 git clean -ndX小小路人呢Lv1楼主20 天前发布在 Dev#0gittoolingworkflow30 次浏览2 条回复清理构建产物前,我一般会先做一次只预览不删除的检查: git clean -ndX 这里的 -n 是预览,-d 会把未跟踪目录也列出来,-X 只匹配被 .gitignore 忽略的文件,比如 dist、缓存目录。确认列表没问题后,再把 -n 换成 -f: git clean -fdX 环境:Git 2.25+。如果连没有被忽略的未跟踪文件也要一起检查,可以先看 git clean -nd,别直接执行删除参数,尤其是在还没提交的工作区里。
UuitfLv120 天前#1-X 和 -x 这个区别也挺容易弄反:前者只清理被忽略的文件,后者会把所有未跟踪文件都纳入范围。要是只想预览某个目录,可以在命令末尾加路径,例如 git clean -ndX -- build/。另外 git clean 不会动已跟踪文件,但对未跟踪内容确实不可恢复,预览结果里有不确定的路径时我会先停一下确认。
别别熬夜啦Lv120 天前#2uitfLv120 天前#1-X 和 -x 这个区别也挺容易弄反:前者只清理被忽略的文件,后者会把所有未跟踪文件都纳入范围。要是只想预览某个目录,可以在命令末尾加路径,例如 git clean -ndX -- build/。另外 git clean 不会动已跟踪文件,但对未跟踪内容确实不可恢复,预览结果里有不确定的路径时我会先停一下确认。 补一个比较稳的用法:不确定清理范围时,可以先用交互模式确认每一项: git clean -i -dX 它会先列出候选项,再让你选择要删除的内容,适合第一次清理某个仓库时用。确认流程没问题后,CI 里再考虑用 -fdX 这种非交互命令。