Skip to content

用户手册

完整的 Git Doctor 使用指南,帮助您快速上手并充分利用所有功能。

健康概览

健康概览视图展示仓库的整体健康状态:

┌─────────────────────────────────────────┐
│  健康概览                                │
├─────────────────────────────────────────┤
│  📊 健康评分: 85/100                     │
│                                         │
│  📦 仓库体积                             │
│     └─ .git 大小: 12.5 MB               │
│     └─ 大文件数: 3                       │
│                                         │
│  📝 提交质量                             │
│     └─ 规范率: 78%                       │
│     └─ 总提交数: 256                     │
│                                         │
│  🌿 分支健康                             │
│     └─ 本地分支: 8                       │
│     └─ 僵尸分支: 2                       │
│                                         │
│  🔒 安全风险                             │
│     └─ 高风险: 0                        │
│     └─ 中风险: 2                        │
└─────────────────────────────────────────┘

查看详细信息:

  • 点击各项指标可展开查看详情
  • 点击问题项可跳转到具体位置

功能入口

VS Code 插件

  1. 点击侧边栏的 Git Doctor 图标(脉搏图标)
  2. 使用命令面板 Ctrl+Shift+P,输入 Git Doctor:

CLI 命令行

bash
# 完整诊断
git-doctor analyze

# 各项分析
git-doctor size      # 体积分析
git-doctor commits   # 提交质量
git-doctor branches  # 分支健康
git-doctor security  # 敏感信息

诊断维度

仓库体积分析

分析 .git 目录的大小和对象分布。

指标说明
总大小.git 目录总体积
松散对象未打包的单独对象
Pack 文件打包后的对象文件
大文件超过阈值的文件(默认 1MB)

优化建议:

  • 大文件过多 → 考虑使用 Git LFS
  • 松散对象过多 → 运行 git gc
  • Pack 文件过大 → 检查是否有不必要的历史

提交质量分析

检查提交消息是否符合规范。

检查项:

  • ✅ Conventional Commits 格式
  • ✅ 提交消息长度
  • ✅ 提交频率分布
  • ✅ 作者贡献统计

Conventional Commits 格式:

<type>(<scope>): <subject>

<body>

<footer>

支持的 type:

  • feat: 新功能
  • fix: Bug 修复
  • docs: 文档更新
  • style: 代码格式
  • refactor: 重构
  • test: 测试
  • chore: 构建/工具

分支健康度分析

问题类型说明建议
僵尸分支超过 90 天未更新考虑删除或激活
已合并未删除已合并到主分支但未删除建议删除
命名不规范不符合命名约定重命名或删除

敏感信息扫描

类型示例模式风险级别
AWS KeyAKIA...
GitHub Tokenghp_...
私钥文件-----BEGIN RSA PRIVATE KEY-----严重
密码password=xxx
API Keyapi_key=xxx

处理建议:

  1. 立即撤销泄露的凭证
  2. 使用 git filter-branch 清理历史
  3. 考虑使用环境变量或密钥管理服务

代码热点

热点指标

┌─────────────────────────────────────────┐
│  代码热点                                │
├─────────────────────────────────────────┤
│  🔥 高风险                               │
│     └─ src/core/parser.ts              │
│        修改次数: 45 | Bug修复: 12       │
│        TDI: 85.3                        │
│                                         │
│  ⚠️ 中风险                               │
│     └─ src/utils/helper.ts             │
│        修改次数: 23 | Bug修复: 5        │
│        TDI: 52.1                        │
└─────────────────────────────────────────┘

TDI 技术债务指数

范围风险级别颜色
0-30低风险🟢 绿色
31-60中风险🟡 黄色
61-80高风险🟠 橙色
81-100严重风险🔴 红色

热力图

命令面板:Git Doctor: 打开热力图

热力图以可视化方式展示代码变更热度,颜色越深表示修改越频繁。

贡献者画像

分析团队成员的贡献分布:

  • 提交数量排名
  • 代码行数贡献
  • 活跃时间分布
  • 知识孤岛风险识别

报告导出

支持格式

格式说明适用场景
HTML可视化仪表盘分享、演示
Markdown纯文本格式文档、Wiki
JSON结构化数据程序处理、CI
Text控制台格式快速查看

导出命令

bash
# CLI 导出
git-doctor export -f html -o report.html
git-doctor export -f markdown -o report.md
git-doctor export -f json -o report.json

常见问题

为什么分析结果显示"无数据"?

可能原因:

  1. 当前目录不是 Git 仓库
  2. 仓库刚初始化,没有提交历史
  3. 仓库使用了 shallow clone(浅克隆)

解决方法:

bash
# 检查是否是 Git 仓库
ls -la .git

# 如果是浅克隆,获取完整历史
git fetch --unshallow

热点分析很慢?

解决方法:

  1. 减少分析时间范围:

    json
    "gitDoctor.hotspot.timeRange": 30
  2. 添加排除模式:

    json
    "gitDoctor.hotspot.excludePatterns": [
      "**/node_modules/**",
      "**/vendor/**"
    ]

基于 MIT 许可发布