重新发明 issue 跟踪:本地优先、Git 原生
来源: blog.manganin.dev — 2026-09-15
概述
作者为 Manganin 设计 issue 跟踪时想同时满足两件事:数据存在 Git 里,并且在命令行与离线状态下都好用。把 .issues/ 目录放进源码树会让每条 issue 的状态随分支分裂、需要不停 rebase;改用 refs/issues/12 这类特殊引用可以把数据藏在源码树之外,但编辑一条 issue 要经过 hash-object、tree、commit、update-ref 一串步骤,本地体验极差。文章记录了这些失败尝试与最终的取舍。
核心要点
- 天真方案把 issue 放进源码树,结果是每个分支都带着自己的 issue 状态,还要不断 rebase。
- issue 的变更频率远高于代码提交,每次打开、编辑、关闭都要 pull,项目一有速度就受不了。
- 用 refs/issues/12 存储可以让 issue 不污染源码树,代价是编辑时要创建四个本质指向同一件事的 ID。
- 他明确拒绝为了 issue 跟踪引入 Postgres:那是标准的厂商锁定与部署复杂化路径。
- 他的判断是:应当顺着 Git 的长处设计,而不是与它对抗。
金句
核心功能应当在你自己的设备上就能用,不需要联网,也不需要复杂的配置步骤。
👍 0
👎 0
返回 Lobsters 首页