cae8575c671f1cc09f3e4c049c8a30b7a6414160..c773fcdd1f73ca6526e11bb672b8fe33e0339a77
2026-09-01 Ariver
docs: record Ob.temp git history slimming
c773fc diff | tree
2026-09-01 Ariver
chore: exclude backup and external source directories
2d9890 diff | tree
2 files modified
1 files added
117 ■■■■■ changed files
.gitignore 11 ●●●●● patch | view | raw | blame | history
00inbox/X-sessionhistory/Ob.temp/26.0901-Ob.temp.Obsidian本机维护-Git历史瘦身.md 70 ●●●●● patch | view | raw | blame | history
00inbox/X-sessionhistory/Ob.temp/COMMANDS.md 36 ●●●●● patch | view | raw | blame | history
.gitignore
@@ -21,6 +21,11 @@
# ===== 公司素材盘(约 380GB:声纹/音频/产品资料,不进版本库)=====
P3.bobo/
# ===== 本机归档备份(不进版本库)=====
X2.Archived/backups/
# 任意层级中,只要目录名包含 backup(不区分大小写),整个目录均不进版本库。
**/*[Bb][Aa][Cc][Kk][Uu][Pp]*/
# ===== 大体积二进制(避免撑爆 git,notes 以 .md 为主)=====
*.mp3
*.mp4
@@ -64,3 +69,9 @@
*.ppt
*.xlsx
*.xls
# ===== Daily Activity 源码仓库边界(外置到 /Users/ar/Projects_src)=====
P02-软件项目/ob-daily-activity/02-processing/daily-activity/
# ===== tagfeed 源码迁移边界(外置到 /Users/ar/Projects_src)=====
P02-软件项目/ob-tagfeed/03-O/C1.source/
00inbox/X-sessionhistory/Ob.temp/26.0901-Ob.temp.Obsidian本机维护-Git历史瘦身.md
New file
@@ -0,0 +1,70 @@
# Ob.temp Git 历史瘦身执行与移交备忘
## 目标与边界
- 只处理 Vault:`/Users/ar/Downloads/Syn/Ob/Ob.temp`
- 只处理该 Vault 对应的远端:`https://git.boborobots.com/r/crazy-macs/obsidianar.git`
- 不处理 `/Users/ar/Projects_src/`,也不改动任何独立软件项目仓库。
- 本机 backup 目录及两份已迁出的旧源码仍保留原位,只从 Vault Git 的当前版本和历史版本中移除。
## 为什么要做
软件源码、依赖、构建产物、备份存档和证书类文件不适合进入 Obsidian 的全库 Git。它们会增加扫描、提交、同步和远端存储成本,也会把不该长期出现在历史中的敏感材料带入远端。
## 最终规则
`.gitignore` 现在包含一条通用目录规则:任意层级只要**目录名**包含 `backup`(不区分大小写),整个目录都不进入 Git;普通文件名中含有 `backup` 不受影响。
另外继续忽略:
- `P02-软件项目/ob-tagfeed/03-O/C1.source/`
- `P02-软件项目/ob-daily-activity/02-processing/daily-activity/`
## 已从全部 Git 历史移除的路径
- `00inbox/X-sessionhistory/Taglauncher/.codex-sessionhistory/legacy/codex-20260610/session-history/local-data-backup-20260608-131414/`
- `00inbox/X-sessionhistory/Taglauncher/.codex-sessionhistory/legacy/codex-20260610/session-history/root-cleanup-backup-20260608-211624/`
- `X1.Knomo/_knomo-system/backups/`
- `X2.Archived/backups/`
- `X2.Archived/excalidraw-library/.migration-backup-20260825-230434/`
- `P02-软件项目/ob-tagfeed/03-O/C1.source/`
- `P02-软件项目/ob-daily-activity/02-processing/daily-activity/`
历史改写后还检查了 `.p12`、`.cer`、`.provisionprofile`、`.certSigningRequest`;新历史中数量为 0。
## 执行结果
- 旧远端 `main`:`4039132357d16ca2f008295f033c8d2250a7fe8d`
- 新远端 `main`:`2d98902a184d8cd0dff961628505dbdec341b55d`
- 提交数量:8 个,全部完成历史改写。
- 标准裸仓库对象包:从约 30.46 MiB 降至约 24.52 MiB,减少约 19.5%。
- 当前版本内容等价摘要:移除批准路径后,改写前后均为 1746 个文件、44,361,997 字节,SHA-256 均为 `f31aef8aceb9dec97d1d7735ad4a82e05c3505851b25fd7a5110f7323b371463`。
- 本地 Vault 切换前后待处理文件数量均为 1002,说明原有未提交工作没有因切换 Git 元数据而丢失。
- 当前版本及全部新历史中的禁止路径数量均为 0。
- 本机上述七个目录全部仍然存在,并由忽略规则保护。
## 安全备份与恢复点
- 完整 Vault 快照:`/Users/ar/Ob.temp-git-slim-backups/20260901-pre-rewrite`
- 完整 Git bundle:`/Users/ar/Ob.temp-git-slim-backups/20260901-pre-rewrite-all.bundle`
- 改写后的隔离裸仓库:`/Users/ar/Ob.temp-git-slim-backups/20260901-filtered.git`
- 改写后的本地测试克隆:`/Users/ar/Ob.temp-git-slim-backups/20260901-test-clone`
- 切换前的原始 `.git`:`/Users/ar/Ob.temp-git-slim-backups/20260901-original-dotgit`
在确认所有设备都已适应新历史以前,不要删除这些恢复点。
## 以后怎么维护
1. backup 目录可正常留在 Vault 本机,但不要用强制添加把它加入 Git。
2. 软件源码统一放在 `/Users/ar/Projects_src/`,每个项目使用自己的 Git 和远端。
3. Obsidian 内只保留项目管理、需求、交接和轻量成果文档。
4. 新增大型二进制文件前,先判断它应进入独立项目仓库、备份系统还是附件存储。
5. 修改忽略规则后,先用 `git check-ignore -v 路径` 验证;不要直接删除本机目录。
## 其他设备注意事项
本次改写了远端历史。其他已经克隆过旧仓库的设备不要直接把旧分支推回远端;最安全的做法是先保存未提交文件,再重新克隆新远端。否则旧历史可能再次被带回来。
## 安全提醒
历史删除不能替代证书吊销或密钥轮换。旧历史曾包含证书和 `.p12` 类文件;如果其中包含仍有效的私钥或口令,应另行检查并按实际风险吊销或更换。
00inbox/X-sessionhistory/Ob.temp/COMMANDS.md
@@ -1,7 +1,43 @@
# 可复用命令索引
## Ob.temp Git 历史瘦身与恢复
- 搜索关键词:`Git 历史瘦身`、`filter-repo`、`backup`、`Projects_src`、`force-with-lease`
- 完整记录:[[26.0901-Ob.temp.Obsidian本机维护-Git历史瘦身]]
- 用途:说明 Vault Git 的管理边界、被移除的历史路径、验证结果、安全备份位置、其他设备重新接入方法与恢复注意事项。
## Tagfeed Task Board 任务地图验证与恢复
- 搜索关键词:`tagfeed 任务地图`、`hasTag`、`taskId`、`blockedBy`、`27 nodes`、`8 edges`
- 完整命令:[[26.0901-Ob.temp.任务管理工作流-TaskBoard地图适配]]
- 用途:验证 Task Board 的 Tagfeed 精确筛选、任务节点和依赖边;升级或异常后恢复 Task Board 配置与本地兼容补丁。
## Obsidian Vault Git 只读状态检查
- 搜索关键词:`Obsidian Git`、`status --short`、`Commit staged`、`autoPushInterval`、`osxkeychain`
- 完整命令:[[26.0831-Ob.temp.Obsidian本机维护-Git操作手册]]
- 用途:只读查看 Obsidian Vault 的 Git 状态、差异、最近提交及远程地址,不执行提交或同步。
## Daily Activity DA-QA-005 固定 SHA 隔离 QA
- 搜索关键词:`DA-QA-005`、`f5a0d3c6fd925b31246af8e7f956a14a6b3e644a`、`SCH-09`、`DA-UAT-001`
- 完整命令:[[26.0831-Ob.temp.DA-QA-005完整独立QA-固定SHA验收]]
- 用途:从固定 commit 导出隔离源码,执行 npm 基线、构建和 QA 扩展回归;不污染生产工作树。
## Daily Activity DA-QA-006 完整回归与长期 pending 调度风险
- 搜索关键词:`DA-QA-006`、`c5e6aed5f865588a2c944ce1e6f33e4082a38ed9`、`SCH-10`、`SingleFlight`、`DA-UAT-001`
- 完整命令:[[26.0831-Ob.temp.DA-QA-006完整回归-固定SHA验收]]
- 用途:从 reviewer PASS 的固定 SHA 导出隔离副本,执行原有测试、构建、完整 fixture 和 scheduler 长期 pending 回归;保留真实桌面/UI/性能/Owner UAT 的 BLOCKED 边界。
## Daily Activity DA-QA-007 固定 SHA 独立 QA
- 搜索关键词:`DA-QA-007`、`7e09109c5f6eb453145059514bb5952378ee407b`、`NO-GO`、`DA-UAT-001`、`SingleFlight`
- 完整命令:[[26.0831-Ob.temp.DA-QA-007固定SHA独立QA验收]]
- 用途:从 reviewer PASS 的固定 SHA 导出隔离源码,执行原有回归、独立跨代/跨 await fixture、功能路径、桌面启动、UAT rehearsal 和发布前证据边界检查。
## Git 忽略已跟踪目录并保留本机文件
- 搜索关键词:`X2.Archived/backups`、`git rm --cached`、`check-ignore`、`解除跟踪`
- 完整命令:[[26.0831-Ob.temp.Obsidian本机维护-Git排除归档备份]]
- 用途:将已被 Git 跟踪的目录改为忽略范围,同时保留工作区中的本机文件,并提供提交前恢复方法。