# Odyssey 周快照提交护栏 ### Odyssey 周快照 Markdown-only 流程样例 **Before** 周复盘 automation 生成 `weekly/2026-W19.md` 后直接 `git add . && git commit`。如果 iCloud 同步、附件删除或本地缓存文件同时处于 dirty 状态,这些非 Markdown 变更可能被一起提交。 **After** 1. 进入 Odyssey 仓库后先运行 `git status --porcelain`,把变更分为 Markdown 与非 Markdown。 2. 只执行 `git add -- '*.md'`,不使用 `git add .`。 3. 提交前运行 `git diff --cached --name-only`,确认 staged 文件全部以 `.md` 结尾。 4. 如果 staged 区出现非 Markdown,立即停止并 unstage 这些文件;如果只有 Markdown,提交周复盘。 5. 回复中明确说明:本次提交包含多少个 Markdown 文件,哪些非 Markdown dirty 文件被保留未处理。 **成功信号** - `git diff --cached --name-only` 输出全部是 `.md`。 - commit 只包含 Markdown 文件。 - `git status --porcelain` 中原有非 Markdown 变更仍处于未暂存状态。 **失败信号** - staged 列表里出现图片、数据库、PDF、附件、缓存或无扩展名文件。 - 自动化试图通过 reset/checkout 清理非 Markdown dirty state。 - 回复只说“已提交”,但没有说明非 Markdown 是否被排除。