Git Log Summary Skill (Markdown格式)
此技能用于生成Markdown格式的Git提交记录摘要报告,适合文档化、分享和在线阅读。
快速开始
基本用法
生成当前git仓库的Markdown格式提交记录摘要:
CODEBLOCK0
输出格式示例
CODEBLOCK1
脚本功能
主要脚本
INLINECODE0 - Markdown格式脚本,生成完整的git提交记录摘要
功能特性
- 1. 项目信息提取:
- 自动获取项目名称(从git remote或目录名)
- 获取仓库路径和基本信息
- 记录生成时间
- 2. 分支信息:
- 当前分支
- 远程仓库信息
- 所有分支列表
- 3. 提交统计:
- 总提交数
- 按作者统计提交次数和占比(Markdown表格格式)
- 提交类型统计(feat, fix, merge等)
- 4. 详细提交记录:
- 最近提交的详细记录(Markdown表格格式)
- 格式化输出:Commit Hash | 作者 | 提交时间 | 提交日志
- 5. 提交类型分析:
- 自动分析提交信息中的类型前缀
- 统计各类提交的数量和占比
- 提供类型说明
使用示例
CODEBLOCK2
自动文件名格式
当不指定-o参数时,脚本会自动生成文件名:
CODEBLOCK3
示例:
CODEBLOCK4
文件名组成:
- - 项目名: 从git remote或目录名自动提取
- git-log: 固定标识
- 年月日: 报告生成日期(如20260325)
- 时分秒: 报告生成时间(如203045)
远程仓库分析
远程分析脚本
INLINECODE2 - 专门用于分析远程Git仓库
功能特性
- 1. 自动克隆: 自动克隆远程仓库到临时目录
- 保留报告: 生成报告后保留报告文件
- 可选保留: 可选择保留或删除克隆的仓库
- 完整分析: 包含所有本地分析功能
远程仓库使用示例
CODEBLOCK5
脚本参数
本地分析脚本 (generate_git_summary.sh)
- -
-o, --output <file>: 指定输出文件(默认自动生成:项目名-git-log-年月日-时分秒.md) - INLINECODE5 : 指定显示的最近提交数量(默认20)
- INLINECODE6 : 包含所有分支的统计(默认只统计当前分支)
- INLINECODE7 : 显示帮助信息
远程分析脚本 (generate_git_summary_remote.sh)
- -
-u, --url <url>: 远程Git仓库URL(必需) - INLINECODE10 : 指定输出文件(默认自动生成)
- INLINECODE11 : 指定显示的最近提交数量(默认20)
- INLINECODE12 : 包含所有分支的统计(默认只统计当前分支)
- INLINECODE13 : 保留克隆的仓库目录(默认不保留)
- INLINECODE14 : 显示帮助信息
提交类型识别
脚本会自动识别以下提交类型:
- -
feat: 新功能 - INLINECODE16 : Bug修复
- INLINECODE17 : 合并分支
- INLINECODE18 : 文档更新
- INLINECODE19 : 代码格式调整
- INLINECODE20 : 代码重构
- INLINECODE21 : 测试相关
- INLINECODE22 : 构建过程或辅助工具变动
- INLINECODE23 : 性能优化
- INLINECODE24 : CI/CD相关
- INLINECODE25 : 构建系统
- INLINECODE26 : 回退提交
注意事项
- 1. 确保在git仓库中: 脚本必须在git仓库目录下运行
- git版本: 需要git 1.8.0或更高版本
- 权限: 需要读取git配置和提交历史的权限
- 大型仓库: 对于大型仓库,统计所有提交可能需要较长时间
故障排除
常见问题
- 1. "错误:当前目录不是git仓库":
- 确保当前目录是git仓库
- 运行
git init 初始化新仓库
- 2. 统计不准确:
- 运行
git fetch --all 更新远程分支信息
- 使用
-a 参数包含所有分支统计
- 3. 提交类型识别错误:
- 检查提交信息是否符合约定格式(如 "feat: 添加新功能")
- 调整脚本中的类型匹配规则
性能优化
对于大型仓库:
- - 使用
-n 参数限制最近提交数量 - 避免使用
-a 参数除非必要 - 考虑使用
git log --since 限制时间范围
Git Log Summary Skill (Markdown格式)
此技能用于生成Markdown格式的Git提交记录摘要报告,适合文档化、分享和在线阅读。
快速开始
基本用法
生成当前git仓库的Markdown格式提交记录摘要:
bash
./scripts/generategitsummary.sh
输出格式示例
markdown
项目名 Git提交记录摘要
报告信息
- - 生成时间: 2026-03-25 20:03:35
- 仓库路径: /path/to/repository
- 仓库基本信息:
-
Git版本: 2.39.5
-
仓库创建时间: 2026-03-05
-
最后提交时间: 2026-03-25
分支信息
当前分支
master
远程仓库
- - origin https://example.com/repo.git (fetch)
- origin https://example.com/repo.git (push)
提交统计
总提交数
总提交数: 30
按作者统计
| 作者 | 提交次数 | 占比 |
|---|
| user1 | 21 | 70.00% |
| user2 |
7 | 23.33% |
最近提交记录
显示最近 20 条提交记录:
| Commit Hash | 作者 | 提交时间 | 提交日志 |
|---|
| abc123 | user1 | 3 hours ago | feat: 新增功能 |
| def456 |
user2 | 5 hours ago | fix: 修复问题 |
所有分支
本地分支
远程分支
- - origin/HEAD
- origin/master
提交类型统计
基于最近1000条提交信息的类型分析:
| 类型 | 数量 | 占比 | 说明 |
|---|
| feat | 27 | 90.0% | 新功能 |
| fix |
2 | 6.7% | Bug修复 |
报告生成完成
脚本功能
主要脚本
scripts/generategitsummary.sh - Markdown格式脚本,生成完整的git提交记录摘要
功能特性
- 1. 项目信息提取:
- 自动获取项目名称(从git remote或目录名)
- 获取仓库路径和基本信息
- 记录生成时间
- 2. 分支信息:
- 当前分支
- 远程仓库信息
- 所有分支列表
- 3. 提交统计:
- 总提交数
- 按作者统计提交次数和占比(Markdown表格格式)
- 提交类型统计(feat, fix, merge等)
- 4. 详细提交记录:
- 最近提交的详细记录(Markdown表格格式)
- 格式化输出:Commit Hash | 作者 | 提交时间 | 提交日志
- 5. 提交类型分析:
- 自动分析提交信息中的类型前缀
- 统计各类提交的数量和占比
- 提供类型说明
使用示例
bash
生成默认报告(自动保存为 项目名-git-log-年月日-时分秒.md)
./scripts/generate
gitsummary.sh
指定输出文件
./scripts/generate
gitsummary.sh -o custom-report.md
限制最近提交数量
./scripts/generate
gitsummary.sh -n 20
包含所有分支的统计
./scripts/generate
gitsummary.sh -a
组合使用
./scripts/generate
gitsummary.sh -n 15 -a
自动文件名格式
当不指定-o参数时,脚本会自动生成文件名:
项目名-git-log-年月日-时分秒.md
示例:
long-shop-git-log-20260325-203045.md
文件名组成:
- - 项目名: 从git remote或目录名自动提取
- git-log: 固定标识
- 年月日: 报告生成日期(如20260325)
- 时分秒: 报告生成时间(如203045)
远程仓库分析
远程分析脚本
scripts/generategitsummary_remote.sh - 专门用于分析远程Git仓库
功能特性
- 1. 自动克隆: 自动克隆远程仓库到临时目录
- 保留报告: 生成报告后保留报告文件
- 可选保留: 可选择保留或删除克隆的仓库
- 完整分析: 包含所有本地分析功能
远程仓库使用示例
bash
分析远程仓库(自动生成报告文件)
./scripts/generate
gitsummary
remote.sh -u https://gitee.com/forever1236/long-shop.git
指定输出文件
./scripts/generate
gitsummary_remote.sh -u https://gitee.com/user/repo.git -o my-report.md
保留克隆的仓库目录
./scripts/generate
gitsummary_remote.sh -u https://github.com/user/repo.git -k
组合使用
./scripts/generate
gitsummary_remote.sh -u https://gitee.com/user/repo.git -n 30 -a -o report.md
脚本参数
本地分析脚本 (generategitsummary.sh)
- - -o, --output : 指定输出文件(默认自动生成:项目名-git-log-年月日-时分秒.md)
- -n, --num-commits : 指定显示的最近提交数量(默认20)
- -a, --all-branches: 包含所有分支的统计(默认只统计当前分支)
- -h, --help: 显示帮助信息
远程分析脚本 (generategitsummary_remote.sh)
- - -u, --url : 远程Git仓库URL(必需)
- -o, --output : 指定输出文件(默认自动生成)
- -n, --num-commits : 指定显示的最近提交数量(默认20)
- -a, --all-branches: 包含所有分支的统计(默认只统计当前分支)
- -k, --keep-clone: 保留克隆的仓库目录(默认不保留)
- -h, --help: 显示帮助信息
提交类型识别
脚本会自动识别以下提交类型:
- - feat: 新功能
- fix: Bug修复
- merge: 合并分支
- docs: 文档更新
- style: 代码格式调整
- refactor: 代码重构
- test: 测试相关
- chore: 构建过程或辅助工具变动
- perf: 性能优化
- ci: CI/CD相关
- build: 构建系统
- revert: 回退提交
注意事项
- 1. 确保在git仓库中: 脚本必须在git仓库目录下运行
- git版本: 需要git 1.8.0或更高版本
- 权限: 需要读取git配置和提交历史的权限
- 大型仓库: 对于大型仓库,统计所有提交可能需要较长时间
故障排除
常见问题
- 1. 错误:当前目录不是git仓库:
- 确保当前目录是git仓库
- 运行 git init 初始化新仓库
- 2. 统计不准确:
- 运行 git fetch --all 更新远程分支信息
- 使用 -a 参数包含所有分支统计
- 3. 提交类型识别错误:
- 检查提交信息是否符合约定格式(如 feat: 添加新功能)
- 调整脚本中的类型匹配规则
性能优化
对于大型仓库:
- - 使用 -n 参数限制最近提交数量
- 避免使用 -a 参数除非必要
- 考虑使用 git log --since 限制时间范围