Skip to content

提交模式

Oh My Commit 提供了多种提交模式,以适应不同的开发场景和团队需求。

快速模式

适用于简单的代码变更,自动生成提交信息。

json
{
  "oh-my-commit.mode.quick": {
    "enabled": true,
    "useAI": true,
    "template": "<type>(<scope>): <subject>",
    "skipPrompts": true
  }
}

交互模式

提供交互式界面,引导用户完成提交。

json
{
  "oh-my-commit.mode.interactive": {
    "enabled": true,
    "steps": ["type", "scope", "subject", "body", "breaking", "issues"],
    "validation": true
  }
}

团队模式

强制执行团队规范,确保提交信息一致性。

json
{
  "oh-my-commit.mode.team": {
    "enabled": true,
    "configPath": ".oh-my-commit/team.json",
    "enforceRules": true,
    "requireReview": true
  }
}

AI 模式

使用 AI 助手生成专业的提交信息。

json
{
  "oh-my-commit.mode.ai": {
    "enabled": true,
    "model": "gpt-4",
    "language": "zh-CN",
    "style": "conventional",
    "detailed": true
  }
}

自定义模式

根据项目需求自定义提交流程。

json
{
  "oh-my-commit.mode.custom": {
    "enabled": true,
    "hooks": {
      "pre-commit": ".oh-my-commit/hooks/pre-commit.js",
      "post-commit": ".oh-my-commit/hooks/post-commit.js"
    },
    "templates": {
      "feature": "feat(${scope}): ${subject}",
      "bugfix": "fix(${scope}): ${subject}"
    }
  }
}

模式切换

命令行切换

bash
# 切换到快速模式
oh-my-commit mode quick

# 切换到交互模式
oh-my-commit mode interactive

# 切换到 AI 模式
oh-my-commit mode ai

配置文件切换

json
{
  "oh-my-commit.mode": {
    "default": "interactive",
    "allowSwitch": true,
    "shortcuts": {
      "q": "quick",
      "i": "interactive",
      "a": "ai"
    }
  }
}

模式组合

快速 + AI

json
{
  "oh-my-commit.mode.hybrid": {
    "primary": "quick",
    "secondary": "ai",
    "conditions": {
      "useAI": "git diff --staged | wc -l > 10",
      "useQuick": "git diff --staged | wc -l <= 10"
    }
  }
}

团队 + 交互

json
{
  "oh-my-commit.mode.hybrid": {
    "primary": "team",
    "secondary": "interactive",
    "validation": true,
    "fallback": "interactive"
  }
}

最佳实践

1. 模式选择

  • 小型变更:使用快速模式
  • 重要特性:使用交互模式
  • 团队项目:使用团队模式
  • 复杂变更:使用 AI 模式

2. 配置优化

json
{
  "oh-my-commit.mode.optimize": {
    "cacheEnabled": true,
    "historySize": 100,
    "suggestions": true,
    "autoSwitch": true
  }
}

3. 工作流集成

json
{
  "oh-my-commit.mode.workflow": {
    "branch": {
      "feature/*": "interactive",
      "bugfix/*": "quick",
      "release/*": "team"
    },
    "path": {
      "src/**": "ai",
      "docs/**": "quick",
      "test/**": "interactive"
    }
  }
}

常见问题

1. 模式冲突

问题:多个模式配置冲突 解决:

json
{
  "oh-my-commit.mode.conflict": {
    "priority": ["team", "ai", "interactive", "quick"],
    "resolution": "highest"
  }
}

2. 性能问题

问题:某些模式响应慢 解决:

json
{
  "oh-my-commit.mode.performance": {
    "cache": true,
    "timeout": 5000,
    "parallel": true,
    "lightweight": true
  }
}

3. 离线支持

问题:离线环境使用受限 解决:

json
{
  "oh-my-commit.mode.offline": {
    "fallback": "interactive",
    "cacheTemplates": true,
    "localValidation": true
  }
}

提示

选择合适的提交模式可以显著提高开发效率。建议根据项目规模和团队需求选择适当的模式。

注意

某些模式(如 AI 模式)可能需要额外的配置和依赖。请确保相关服务可用。

Released under the MIT License.