Git 提交日志追踪
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_15292d5a/yjkj-git-log-tracker。
技能介绍
要解决什么问题
你在多个仓库里提交代码后,想按作者、时间、仓库或主题跨项目检索 commit,通常只能逐个 git log 翻历史,或者依赖托管平台的 Web 界面。Git Log Tracker 的思路是:在本地用 post-commit hook 把每次提交的元数据落盘,再用统一的 CLI 做查询和轻量维护,数据集中在 ~/.commit-logs/index.db。
它如何工作
- 自动采集:对指定仓库安装 hook 后,每次
git commit会把 hash、日期、作者、仓库路径、主题等写入 SQLite;也支持全局模式,让新 clone 的仓库自动带上 hook。 - 跨仓查询:
find支持 hash 前缀匹配;list以表格输出最近记录(HASH | DATE | AUTHOR | REPO | SUBJECT);stats做汇总统计。 - 仓库标签:通过 仓库级 label(如 work / personal)给
repo_path打标,标签存在~/.commit-logs/labels.json,改标签会对该仓库全部历史记录立即生效,便于按「组」过滤。 - 数据维护:可手动
record最新 commit、删除或更新部分字段(branch、subject、body、repopath、reponame 等),必要时reset数据目录。
适用边界与注意点
- 首次使用前必须按
references/ONBOARDING.md完成环境配置;流程要求 Agent 先问清使用意图(单仓 / 多仓 / 全局),再执行对应步骤,不要一次性跑完所有命令。 - Hook 只覆盖已安装 hook 的仓库;未 hook 的历史不会自动回填,除非手动
record或另行扫描发现仓库。 - 可通过
~/.commit-logs/config.toml配置排除列表;CLI 本身经uv tool install安装,与~/.commit-logs下的数据目录分离。
使用场景
- 维护十几个 side project,想凭一段 commit hash 前缀在所有本地仓库里定位是哪次提交
- 给 client 仓与个人仓分别打 work / personal 标签,再按标签筛最近一周的 commit 列表
- 新机器上批量 scan 某目录下的 git 仓库并安装 hook,避免逐个 cd 进去手动配置
- 某仓库曾未装 hook,需要把该仓当前 HEAD 的最新 commit 手动 record 进索引再统一 list 统计
适合人员
- 同时维护多个开源与个人仓库、需要在本地统一检索提交历史的独立开发者
- 按客户项目切换不同 git 工作目录、希望用 label 区分仓库组再查 commit 的自由职业工程师
- 不想依赖 GitHub/GitLab 网页搜索、要把 commit 元数据留在本机 SQLite 里做统计的隐私敏感开发者
- 负责团队多仓协作、需要检查 hook 是否生效并在缺失时补录 commit 记录的技术负责人