Git 分支命名与中文提交规范#
仅约束分支命名和提交信息。相关任务自动应用本规范,无需用户手动调用。生成建议或检查格式时,不因此执行分支创建或 Git 提交;实际操作按用户请求执行。
类型选择#
分支前缀和提交类型使用以下英文标识,按实际工作选择:
| 类型 | 用途 |
|---|---|
feat |
新增功能 |
fix |
修复缺陷 |
docs |
仅修改文档 |
style |
格式调整,不改变逻辑 |
refactor |
重构,不新增功能或修复缺陷 |
perf |
性能优化 |
test |
添加或修改测试 |
build |
构建系统或依赖变更 |
ci |
持续集成配置变更 |
chore |
不属于以上类型的维护工作 |
revert |
回退已有提交 |
分支命名#
格式:<type>/<description>;有关联的 Issue 编号时使用 <type>/<issue>-<description>。
- 类型和描述使用小写英文;多词描述用连字符
-连接。 - 仅使用小写英文字母、数字、连字符及类型后的一个
/,不使用中文、空格或下划线。 - 描述部分不超过 50 个字符,不含类型、分隔符和可选 Issue 编号。
- 描述说明具体任务,避免使用
update、changes等无法识别用途的名称。
示例:
feat/user-login
fix/42-login-timeout
docs/api-reference
build/update-npm-dependencies
提交信息#
遵循 Conventional Commits:
<type>[(scope)][!]: <中文描述>
<可选中文正文>
<可选页脚>
中文要求#
- 无论用户的任务描述、代码或已有提交使用什么语言,标题中的描述、正文和页脚中的说明文字都必须使用简体中文。
- 类型保留英文,例如
feat:、fix:、docs:;可选 scope 使用简短的小写英文模块名,例如auth、ui、deps。 - 技术专有名词、代码标识符、路径、版本号和提交哈希保留原样,例如 JWT、UserAuthService、npm、Go 1.21。
BREAKING CHANGE:等机器识别标记保留英文,其后的解释使用简体中文。不要把英文句子当作正文或页脚说明。
格式要求#
- 标题不超过 72 个字符,以“添加”“修复”“更新”“移除”等动作词描述具体改动,不使用“已完成”等冗余表述。
- 冒号后留一个空格,标题末尾不加句号,包括中文句号。
- scope 表示模块或范围,不使用动作短语,例如使用
auth,不使用adding-auth。 - 正文与标题之间空一行;需要正文时,说明改动原因和关键影响。
- 提交类型由实际改动决定,不机械照搬当前分支前缀;例如功能分支上的独立缺陷修复仍使用
fix。 - 破坏兼容性的变更必须在类型或 scope 后加
!,或添加BREAKING CHANGE:页脚,不能只在正文中描述。 - 回退提交使用
revert,正文用中文说明回退的提交并保留其哈希;将 Git 自动生成的英文说明改写为中文。 - 不添加 AI 签名、AI 署名或面向 AI 助手的
Co-authored-by页脚。
示例:
feat(auth): 添加 JWT 令牌刷新
fix(auth): 修复并发请求导致的登录状态异常
为请求添加唯一标识,仅处理最新请求的响应,防止过期响应覆盖当前登录状态。
refactor(config)!: 调整配置文件格式
BREAKING CHANGE: 旧版配置文件不再兼容,需要迁移至新版格式。
revert(auth): 回退 JWT 登录实现
回退提交 abc1234f,恢复原有登录流程。