跳到正文
MyDSH我的 DSH 实战笔记
English
独立维护,非DeepSeek官方;与mydsh.dev等其他MyDSH站点无关联。

首页/工作区与文件/工作区清理与回滚

跑完必查的残留文件清单

跑完一批任务,工作区里多了一堆不认识的文件,不知道哪些该删、哪些是产物。

已核验版本与环境核验日期2026-11-14
适用范围
任何会写文件的任务
核验日期
2026-11-14

可复制指令

find . -type f -newer /tmp/before.txt -not -path './.git/*' | sort

跑完之后工作区为什么会脏?因为模型完成任务时常留下中间物:临时脚本、拆分出来的片段、验证用的样本、失败的半成品。它们不一定是错的,但必须被识别。

常见残留长什么样怎么处理
临时脚本verify.py / check.sh / tmp_*.py这类名字,内容是一次性验证逻辑确认无需复用后删;要留就挪进scripts/
中间片段out_part1.md、chunk_*.txt、某文件.bak合并完成即删
测试样本sample.* / test_* —— 常含假数据删;如果配方需要,改成生成而不是提交
半成品生成到一半的文件,可能不完整但不报错对照验收清单判断,宁可重跑
日志与缓存*.log、__pycache__、.pytest_cache删;加进忽略规则
被改动的原文件命名没变但内容变了哈希对比才能发现,见「生成月报」那页

用修改时间快速筛

find . -type f -newer /tmp/before.txt -not -path './.git/*' | sort

跑任务前先 touch /tmp/before.txt,跑完用上面这条,就能列出「这次跑动过或新建的所有文件」。比逐个目录翻快得多。

有 git 就用 git

git status --short

一眼看到新增(??)、修改( M)、删除( D)。工作区没有git时,上面那条find是替代方案。

一个反直觉的坑:产物和残留经常在同一个目录里混着。所以清理之前先确认验收清单——「哪些文件应该在」比「哪些文件不该在」更容易判断。

清理顺序

  1. 先记下当前文件清单(find . -type f | sort > /tmp/after.txt)。
  2. 对照验收清单,把「应该在」的标记出来。
  3. 剩下的按上表分类:能再生的一次性内容直接删,可能复用的挪进固定目录。
  4. 删完再跑一次任务,确认删掉的不是必需项——这一步最容易被跳过,也最容易出事。

怎么算跑通

照着逐条对,全过才算完成。有一条没过,先解决它再往下。

  • 能列出本次跑新增/改动的全部文件
  • 产物与残留分得清(对照验收清单)
  • 清理后重跑一次仍然成功

会失败在哪

现象 / 原因 / 怎么办,按实际踩到的顺序写。

现象原因怎么办
清理后重跑失败删掉了配方依赖的中间文件从备份恢复或重跑生成;把这类文件挪进固定目录而不是删
git status里看不出残留残留被 .gitignore忽略了用find -newer而不是只看git

来源

标「已核验」的,来自本站实跑;标「公开资料整理」的,逐条附出处。