# 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 是否被排除。