提交消息建议技能Skill commit-message

这个技能用于根据git差异和上下文自动生成清晰、符合常规提交格式的提交消息。适用于软件开发中的版本控制、DevOps流程,帮助团队保持提交历史的规范性和可读性。关键词包括:git提交、常规提交、版本控制、代码管理、自动化、DevOps。

DevOps 0 次安装 0 次浏览 更新于 3/15/2026

name: commit-message description: 根据差异和上下文建议常规提交消息。在提交更改、编写提交消息或总结暂存更改时使用。

提交消息

根据git差异、暂存更改和上下文,建议清晰、常规的提交消息。

使用时机

  • 用户即将提交并询问消息时
  • 用户想要总结暂存或未暂存的更改时
  • 用户询问“我应该使用什么提交消息?”时

工作流程

  1. 检查更改git diff --staged(如果无暂存则用 git diff
  2. 识别类型:feat、fix、docs、style、refactor、test、chore
  3. 识别范围:可选,如auth、api、ui
  4. 总结:简短、命令式描述
  5. 可选正文:如果不明显,说明原因和内容
  6. 可选页脚:Fixes #N、Breaking change

常规提交格式

<type>(<scope>): <short description>

[optional body]

[optional footer]

类型

类型 使用时机
feat 新功能或能力
fix 错误修复
docs 仅文档更改
style 格式化、空格,无逻辑更改
refactor 非修复或功能的代码更改
test 添加或更新测试
chore 构建、工具、依赖、配置
perf 性能改进

范围(可选)

  • 包、模块或区域:authapiuicli
  • 从更改路径推断:src/auth/ → 范围 auth

简短描述

  • 命令式、小写、无句号:例如“添加登录”而非“添加了登录”
  • 主题行约50字符以内
  • 描述更改内容,而非原因(原因可在正文中说明)

示例

从添加OAuth登录的差异:

feat(auth): 添加OAuth2登录

从修复用户查找中null的差异:

fix(api): 处理用户查找中的null

从仅涉及README的差异:

docs: 更新README安装步骤

从重构存储但不更改行为的差异:

refactor(store): 提取用户选择器

从升级依赖的差异:

chore(deps): 升级react至18.2

正文(可选)

使用时机:

  • 原因不明显时
  • 有重大更改时
  • 非平凡理由时
feat(api): 添加列表端点的分页

重大更改:列表端点现在返回 { items, nextCursor } 而非普通数组。

页脚(可选)

  • Fixes #123Closes #123 用于问题
  • Breaking change: ... 用于重大更改

收集上下文

# 暂存更改(首选)
git diff --staged --stat
git diff --staged

# 无暂存时的未暂存更改
git diff --stat
git diff

# 最近提交以了解风格
git log -3 --oneline

从以下推断类型和范围:

  • 文件路径(如 src/auth/docs/
  • 内容(新函数vs重命名vs删除)
  • 测试文件 → 类型 test 或在正文中提及

多个逻辑更改

如果暂存更改混合多个关注点:

  • 建议拆分:“考虑分两次提交:1) feat(auth): … 2) docs: …”
  • 或建议一个覆盖主要主题的消息,并在正文中注明"包括X和Y"

语气

  • 中立和事实性
  • 命令式语气(“添加"而非"添加了”)
  • 消息中无表情符号或夸张,除非项目约定使用

反模式

  • ❌ “修复东西”、“更新”、“WIP”
  • ❌ 过去时(“修复了bug”)
  • ❌ 主题行末尾句号
  • ❌ 非常长的主题行(改为在正文中换行)