Agent Skills
返回列表
Git 规范提交书写

Git 规范提交书写

开发编程 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_b345b083/lullu。

技能介绍

要解决什么问题

团队里常见两种提交信息:要么是一句「fix bug」,要么是粘贴整段 diff 摘要。前者对 semantic-release、changelog 生成器和按类型过滤的 CI 毫无用处;后者又让人类 reviewer 抓不到重点。Conventional Commits 把类型、范围、主题和可选正文/footer 固定成可解析格式,但日常写 diff 时仍容易选错 type、主题超长、或把多个无关改动塞进一条 commit。

技能如何工作

本技能把 Conventional Commits 当成默认契约:先通过 git diff --cached --stat 与完整 staged diff 看清改了哪些文件,必要时用 git log --oneline -5 对齐近期风格,再按固定流程归类变更。

核心能力包括:

  • 类型与范围:在 feat / fix / refactor / docs 等类型表中选型,并用 feat(auth) 这类 scope 标出影响面
  • 主题约束:祈使语气、句末无句号、类型后小写,主题尽量压在 50 字符内(硬上限 72)
  • 正文与 footer:非显而易见改动写 Why 与行为差异;破坏性变更用 ! 或 BREAKING CHANGE:;可附 Closes #123 等
  • 多改动 diff:无关变更建议拆 commit;主题相关则取主导 type,scope 宁窄勿宽

用户说「写 commit message」时,技能会先查 git status 与暂存区 diff,给出完整提案,并在真正 git commit 前与你确认;仅在用户同意时才考虑 git commit --amend。

适用边界

Merge commit 默认保留 Merge branch '...' 格式,除非你明确要求改写。Revert 用 revert: 并在主题里带上原 commit hash。Squash 时取被压扁提交里最重要的一类 type(例如同时有 feat 与 fix 时偏 feat)。WIP 类提交只在用户明确要求时用 WIP: 或 chore: wip。

使用场景

  • 功能已 `git add` 进暂存区,提交前需要按 diff 写出 `feat(scope)` 主题并通过 commitlint
  • 一次改动涉及多文件 refactor,要在 50 字主题内标清模块范围,并决定是否拆成多条 commit
  • API 行为不兼容,需在提交里加 `!` 或 `BREAKING CHANGE:`,并附上 `Closes #issue`
  • squash 多个本地提交前,要从混合的 feat/fix 里选出主导 type 写一条可进 changelog 的说明

适合人员

  • 维护 monorepo、用 conventional commits 驱动 semantic-release 自动发版的仓库维护者
  • 在 PR 流程里卡 commit 规范、要求消息可解析且带正确 type/scope 的技术负责人
  • 负责从 Git 历史生成 changelog、依赖提交类型做版本策略的平台或发布工程师
  • 完成大段重构后对着 `git diff --cached` 写 `refactor(api)` 再开 PR 的功能开发者