git-log-tracker

Polar Sponsor
爱发电 赞助
.NET 9.0

Git post-commit 钩子 + SQLite 提交索引工具。自动将每次提交的元数据(哈希值、作者、分支、仓库、主题)记录到本地 SQLite 数据库中,随后提供一个命令行接口(CLI),支持查询、列表展示、统计、删除和更新记录。 触发场景:管理 Git 钩子、跨仓库查询提交历史、定位某次提交所属的仓库、查看提交统计信息、将提交记录写入本地索引。 当用户提及“提交日志记录”、“提交索引”、“跨仓库查找提交”、“Git 钩子管理”,或希望以结构化方式查询其提交历史时(即使未明确指出该工具),请使

Git Log Tracker.

功能概述

Git Log Tracker.是一项面向实际任务的技能,主要用于Author: Lee ShunEe.;Organization: KinemaClawWorkspace.;

核心要点

  • GitHub: https://github.com/KinemaClawWorkspace/git-log-tracker Q先使用 QQ技能 5.0,XX参考/O。
  • 它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
  • 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。

使用与执行

从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。

结果检查与注意事项

执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。

Git Log Tracker

  • Author: LeeShunEE
  • Organization: KinemaClawWorkspace
  • GitHub: https://github.com/KinemaClawWorkspace/git-log-tracker

⚠️ Before First Use | 首次使用必读

首次使用此 skill 前,必须先读取 references/ONBOARDING.md 完成环境配置。

references/ONBOARDING.md 采用交互式流程:

  • Agent 必须先询问用户使用意图(仅当前 repo / 多个 repo / 全局模式)

  • 根据用户选择执行相应步骤,切勿自动执行全部命令

  • 首次配置 → 读取 references/ONBOARDING.md,按 Step 0 询问用户后执行

  • 环境不可用(命令不存在、依赖缺失、连接失败)→ 读取 references/ONBOARDING.md Troubleshooting 排查修复

  • 配置完成后 → 直接使用下方 Run Commands

Overview

Git Log Tracker 在每次 git commit 后自动将 commit 元数据写入本地 SQLite 数据库。通过 CLI 可以跨仓库查询、统计、修改和删除 commit 记录。

数据存储在 ~/.commit-logs/index.db,配置文件在 ~/.commit-logs/config.toml。

Run Commands

所有命令通过 git-log-tracker 运行。

初始化

首次安装后初始化配置和数据库:

git-log-tracker setup

Hook 管理

安装 hook 到指定 repo(之后每次 commit 自动记录):

git-log-tracker install /path/to/repo
git-log-tracker install .                              # 当前 repo

检查 hook 状态:

git-log-tracker status /path/to/repo
git-log-tracker status .

移除 hook:

git-log-tracker uninstall /path/to/repo

扫描目录中的 git 仓库:

git-log-tracker scan /path/to/directory                     # 扫描并列出仓库
git-log-tracker scan /path/to/directory --depth 3           # 控制扫描深度
git-log-tracker scan /path/to/directory --install-missing   # 自动安装缺失 hook 的仓库
git-log-tracker scan /path/to/directory --interactive       # 交互式选择安装
git-log-tracker scan /path/to/directory --exclude "*/temp/*" --exclude "*/.cache/*"  # 排除路径

scan 输出示例:

Scanning D:modular_dev for git repositories (depth=5)...

Found 15 repositories:
+----------------------------------------------------+--------------+--------------------+
| Repo Path                                          | Hook Status  | Branches           |
+----------------------------------------------------+--------------+--------------------+
| D:modular_devkinema_skills                       | [OK]         | main (3)           |
| D:modular_devother_project                       | [--]         | master (1)         |
| D:modular_devlegacy_app                          | [--]         | develop (5)        |
+----------------------------------------------------+--------------+--------------------+

Summary: 1 installed, 2 missing

全局模式(新 repo 自动带 hook):

git-log-tracker global          # 启用
git-log-tracker global --off    # 关闭

数据查询

按 hash 查找(支持前缀匹配):

git-log-tracker find abc1234

find 输出示例:

commit  abc1234def5678901234567890123456789012
author  Lee 
date    2025-05-29T14:30:00+08:00
repo    D:/modular_dev/task-tracker
branch  master
subject test(frontend): Phase 4 完成

列出最近 commit:

git-log-tracker list                     # 最近 20 条
git-log-tracker list -n 50               # 最近 50 条
git-log-tracker list --repo task-tracker  # 按仓库名筛选
git-log-tracker list --author lee@example.com  # 按作者筛选
git-log-tracker list --since 2025-01-01   # 按日期筛选
git-log-tracker list --branch main        # 按分支筛选
git-log-tracker list --label work         # 按仓库标签筛选

list 输出为表格格式:HASH | DATE | AUTHOR | REPO | SUBJECT

统计信息:

git-log-tracker stats
git-log-tracker stats --label work        # 只统计带该标签的仓库

标签管理

给仓库打仓库级标签(label),用于按"组"过滤查询(如 work / personal)。标签是 repo_path 的属性,改标签立即对该仓库全部历史 commit 生效。

git-log-tracker label add . work               # 给当前仓库加 work 标签
git-log-tracker label add /path/to/repo work personal  # 一次加多个标签
git-log-tracker label rm . work                # 移除标签
git-log-tracker label list .                   # 查看某仓库的标签
git-log-tracker label list                     # 列出所有标签映射

标签存储在 ~/.commit-logs/labels.json,结构为 { "归一化repo_path": ["label1", ...] }。

数据修改

手动记录某个 repo 的最新 commit:

git-log-tracker record .           # 当前 repo
git-log-tracker record /path/to/repo

删除记录:

git-log-tracker delete abc1234

更新记录字段(可编辑字段:branch, commit_subject, commit_body, repo_path, repo_name):

git-log-tracker update abc1234 branch main

重置数据目录:

git-log-tracker reinstall              # 删除数据目录并重新初始化
git-log-tracker reinstall --keep-config  # 只重置数据库,保留配置

配置

编辑 ~/.commit-logs/config.toml 管理排除列表:

[hooks]
exclude = [
    "/tmp/*",
    # "/path/to/specific/repo",
]

[database]
path = "index.db"

Architecture

安装后的系统结构:

~/.commit-logs/          # 数据目录(不含代码)
├── config.toml          # 排除列表和数据库路径配置
├── labels.json          # 仓库级标签映射(repo_path -> [labels])
├── index.db             # SQLite 数据库

.git/hooks/post-commit   # Hook 文件,调用 git-log-tracker hook

CLI 工具通过 uv tool install 安装到系统,不在 ~/.commit-logs 中存放代码。

SQLite Schema

commits(
    id, commit_hash, short_hash, author_name, author_email, author_ts,
    committer_name, committer_email, commit_subject, commit_body,
    branch, repo_path, repo_name, parent_hashes, recorded_at
)

索引:commit_hash(UNIQUE), repo_path, author_email, recorded_at

相关专题

更多
git怎么对比两个版本的文件内容
git怎么对比两个版本的文件内容

要对比两个版本的 git 文件,请使用 git diff 命令:git diff 比较工作树和暂存区之间的差异。git diff 比较两个提交或标签之间的差异。git diff 输出显示差异块,其中 + 表示添加的行,- 表示删除的行, 表示修改的行。可使用 gitkraken、meld、beyond compare 等可视化工具更直观地查看差异。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.04.09

2281

6

git提交错误怎么撤回
git提交错误怎么撤回

git提交错误撤回的方法:git reset head^:撤回最后一次提交,恢复到提交前状态。git revert head:创建新提交,内容与之前提交相反。git reset :使用提交的 sha-1 哈希撤回指定提交。交互式舞台区:标记要撤回的特定更改,然后提交,排除已撤回更改。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.04.09

2517

7

git撤销提交的commit
git撤销提交的commit

Git是一个强大的版本控制系统,它提供了很多功能帮助开发人员有效地管理和控制代码的变更,本专题为大家提供git 撤销提交的commit相关的各种文章内容,供大家免费下载体验。

2023.07.24

714

5

git和svn的区别
git和svn的区别

git和svn的区别:1、定义不同;2、模型类型不同;3、存储单元不同;4、是否拥有全局版本号;5、内容完整性不同;6、版本库不同;7、克隆目录速度不同;8、分支不同。php中文网为大家带来了git和svn的相关知识、以及相关文章等内容。

2023.07.06

1260

6

自建git服务器
自建git服务器

git服务器是目前流行的分布式版本控制系统之一,可以让多人协同开发同一个项目。本专题为大家提供自建git服务器相关的各种文章、以及下载和课程。

2023.07.05

3859

9

Uvicorn 报错与问题解决教程
Uvicorn 报错与问题解决教程

本专题汇总了Uvicorn服务器常见问题与报错解决的教程合集,涵盖启动失败、端口占用、模块导入错误、事件循环冲突及热重载失效等典型故障的排查思路。同时整理了多进程与Worker配置、SSL/HTTPS证书报错、跨域与代理配置等实战解决方案,助你快速定位并解决Uvicorn运行中的各类问题。

2026.11.02

0

14

Uvicorn使用教程
Uvicorn使用教程

本专题汇总了Uvicorn使用教程与启动运行指南,涵盖其作为Python ASGI服务器的定位与特点,以及命令行启动(uvicorn main:app --reload)、参数配置(host/port/workers)、程序内嵌运行与Gunicorn结合部署等核心用法。同时整理了热重载调试、日志配置与生产环境部署优化等技巧,助你快速掌握Uvicorn的运行与配置。

2026.11.02

0

17

Uvicorn安装配置教程
Uvicorn安装配置教程

本专题汇总了Uvicorn的安装配置教程与部署指南,涵盖通过pip安装Uvicorn、启动FastAPI/Starlette应用、开发模式热重载(--reload)及多进程工作模式配置等核心操作。同时整理了结合Gunicorn的生产部署方案、HTTPS与反向代理配置及性能调优技巧,助你快速完成Uvicorn服务的安装与上线部署。

2026.11.02

0

17

Vite 项目如何打包和部署
Vite 项目如何打包和部署

Vite项目打包部署专题汇集生产构建、产物预览、输出目录、资源路径、Nginx与GitHub Pages部署及常见白屏和路由404问题的已审核文章,帮助读者完成上线流程。

2026.10.28

0

16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
vscode手册
vscode手册

共0课时 | 0人学习

Git 教程
Git 教程

共21课时 | 8.1万人学习

Git版本控制工具
Git版本控制工具

共8课时 | 1.9万人学习