You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为Git提交信息设置格式规范?不使用Git Hooks的替代方案

Git提交信息格式规范及无Git Hooks的替代方案

一、Git提交信息的格式规范设置

常用的是Conventional Commits规范,结构清晰易读,还方便后续生成变更日志,具体结构如下:

  • 类型(Type):必填,说明改动性质,常见类型:
    • feat:新增功能
    • fix:修复bug
    • docs:文档更新
    • style:代码格式调整(不影响逻辑)
    • refactor:代码重构(不新增功能、不修复bug)
    • test:测试相关改动
    • chore:构建/工具/依赖等杂项改动
  • 范围(Scope):可选,说明改动涉及的模块或功能点,比如(auth)代表权限模块
  • 描述(Description):必填,简短的改动摘要,首字母大写,结尾不加标点
  • 正文(Body):可选,详细说明改动原因和具体内容,可分行列出
  • 页脚(Footer):可选,关联Issue或说明破坏性改动,比如Fixes #123或BREAKING CHANGE: 移除旧版登录接口

举个符合规范的提交信息示例:

feat(auth): 添加用户短信登录功能

  1. 集成第三方短信验证码服务SDK
  2. 优化登录接口的参数校验逻辑,增加验证码有效期验证

Fixes #456

你可以把这个规范写入项目的CONTRIBUTING.md文档,让所有团队成员统一参考。

二、不使用Git Hooks的替代方案

1. 用Git内置提交模板约束

通过配置Git的提交模板,让每次提交自动弹出规范模板,引导用户按格式填写:

  • 全局配置(所有项目生效):git config --global commit.template ~/.gitmessage
  • 项目级配置(仅当前项目生效):git config commit.template .gitmessage
  • 创建.gitmessage文件,写入模板内容:
    # <类型>(<范围>): <简短描述>
    #
    # 详细说明改动原因和内容(可选)
    #
    # 关联Issue(可选,如Fixes #123)
    
    提交时执行git commit,编辑器会自动加载这个模板,用户只需填充对应内容。

2. 用CLI工具交互式提交

使用commitizen这类工具,通过交互式问答引导生成符合规范的提交信息:

  • 先全局安装:npm install -g commitizen
  • 项目内初始化规范:commitizen init cz-conventional-changelog --save-dev --save-exact
  • 之后提交代码时用git cz代替git commit,工具会一步步提示选择类型、填写范围和描述,自动生成符合规范的提交信息。

3. 代码托管平台的分支保护规则

在GitHub、GitLab等平台设置分支保护策略,强制提交信息符合正则规则:

  • 比如在GitLab的分支设置中,开启“提交消息必须匹配正则表达式”,填写对应规则(如^feat|fix|docs|style|refactor|test|chore(\(\w+\))?: .+$),不符合格式的提交无法推送到受保护分支。

4. 团队约定+代码审查

明确团队的提交信息规范,在代码PR/MR审查环节,将提交信息格式作为审查项之一,不符合要求的提交要求作者修改后再合并。这种方式依赖团队执行,但无需额外工具支持。

内容的提问来源于stack exchange,提问作者sanjay Paudel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 00:10:45