| New file |
| | |
| | | # 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` 类文件;如果其中包含仍有效的私钥或口令,应另行检查并按实际风险吊销或更换。 |