宇我的小宇宙
小工具 · 规范库 · 全局规范(代码评审 / Git / 安全 / 语言)

Git 提交信息规范

← 返回上一页
rules/00-global/git-commit.md

Git 提交信息规范

Commit Message 语言

  • commit message 使用英文,便于工具链检索与多团队协作。
  • 若用户明确要求用中文,再使用中文。

格式:Conventional Commits

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

<body>

type 取值

  • feat 新功能
  • fix 修复缺陷
  • refactor 重构(不改行为)
  • perf 性能优化
  • style 格式(不影响代码逻辑:空格、换行、分号等)
  • docs 文档/注释
  • test 测试相关
  • build 构建系统、依赖(pom.xml / package.json / webpack 配置)
  • ci CI 配置
  • chore 杂项

scope(可选)

按模块名,例如:appoint(挂号)、charge(收费)、medinsurance(医保)、frontend、common。

subject

  • 祈使句、现在时,首字母小写,句末不加句号。
  • 控制在 50 字符以内,超出用 body 补充。

示例

Do:

feat(appoint): add schedule conflict check for cross-dept registration
fix(medinsurance): correct policy code mapping for inpatient settlement
refactor(common): extract date axis util to CommonService
build(frontend): upgrade vxe-table to fix frozen column render

Don't:

update                          // 太笼统,看不出改了什么
修复了一个bug                     // 没说哪个模块、什么问题
Feat: Add Schedule Conflict Check // type 大写、scope 缺失、subject 首字母大写

提交粒度

  • 一个提交只做一件事;混合 feat + fix + 重构的提交要拆开。
  • 严禁把无关的格式化(整文件 reformat)和逻辑改动混在一个 commit 里,否则 review 无法进行。
  • 不要在一个 commit 里塞入调试代码、注释掉的代码块、System.out.println / console.log。

安全红线(与 security-anti-leak.md 联动)

  • 提交前自检:不得提交密码、密钥、token、内网 IP(见 security-anti-leak.md)。
  • 若发现历史提交已包含敏感信息,不要直接补一个「删除密码」的提交,而应告知负责人走历史清理流程。