" 时,为了快速区分提交内容,使用如下规范。 统一格式为 标签: 描述内容 (注意冒号为英文字符,并且后有空格)。 例如...">
美文网首页
git commit 标签规范

git commit 标签规范

作者: K891V | 来源:发表于2025-11-03 09:56 被阅读0次

使用 git commit -m "<message>" 时,为了快速区分提交内容,使用如下规范。

统一格式为 标签: 描述内容 (注意冒号为英文字符,并且后有空格)。

例如:git commit -m "docs: 补充接口文档的参数说明"

标签 含义 / 使用场景 示例
feat 新增功能(面向用户的新能力) feat: 新增购物车批量结算功能
fix 修复 bug(解决代码运行时的错误) fix: 修复手机号格式验证失败的问题
docs 文档更新(仅修改注释、README 等) docs: 补充接口文档的参数说明
style 代码风格调整(不影响功能,如格式美化) style: 统一调整缩进为4个空格
refactor 代码重构(既不是新增功能也不是修 bug) refactor: 拆分用户服务类为多个模块
perf 性能优化(提升代码运行效率) perf: 优化商品列表查询的SQL语句
test 测试相关(新增 / 修改测试用例) test: 补充登录功能的单元测试
build 构建 / 部署相关(依赖、配置修改) build: 升级webpack版本到5.x
chore 其他杂项(不涉及代码逻辑的小改动) chore: 清理项目中无用的临时文件

自用极简

标签 含义 / 使用场景 示例
feat 新增功能(面向用户的新能力) feat: 新增购物车批量结算功能
fix 修复 bug(解决代码运行时的错误) fix: 修复手机号格式验证失败的问题
refactor 代码修改(既不是新增功能也不是修 bug) refactor: 拆分用户服务类为多个模块
docs 文档更新(仅修改注释、README 等) docs: 补充接口文档的参数说明

补充说明:

  1. 描述内容尽量简洁(建议不超过 50 字),清晰说明 “做了什么”,避免模糊表述(如 “修改了代码”“优化了一下”)。

  2. 一次提交尽量只对应一个标签(如同时改了功能和文档,建议拆成两次提交)。

  3. 规范的核心是 “见名知意”,帮助团队快速理解提交目的,无需过度纠结标签分类,优先保证一致性。

利用 hooks 校验 commit 的格式

可以通过 Git 钩子(Hook) 实现对 commit 信息的强制校验,确保提交内容必须包含指定标签(如 feat:、fix: 等)。核心思路是利用 Git 的 commit-msg 钩子,在提交信息写入前执行脚本检查,若不符合规范则阻止提交。

文件路径:
[项目目录]/.git/hooks/commit-msg
注意:在hooks目录下有commit-msg.sample文件,可以复制一份文件,直接删除.sample。并且文件无后缀名。

#!/bin/sh

# 定义允许的标签(与之前的规范对应)
ALLOWED_TYPES="feat|fix|docs|style|refactor|perf|test|build|chore"

# 获取提交信息文件(Git 会将提交信息暂存到这个文件中)
COMMIT_MSG_FILE=$1
COMMIT_MSG=$(cat "$COMMIT_MSG_FILE")

# 正则匹配:检查提交信息是否以 "标签: " 开头(标签必须是允许的类型,冒号后必须有空格)
if ! echo "$COMMIT_MSG" | grep -qE "^($ALLOWED_TYPES):\s"; then
  echo "❌ 提交信息不符合规范!必须以以下标签开头:"
  echo "   feat:   新增功能"
  echo "   fix:    修复 bug"
  echo "   docs:   文档更新"
  echo "   style:  代码风格调整"
  echo "   refactor: 代码重构"
  echo "   perf:   性能优化"
  echo "   test:   测试相关"
  echo "   build:  构建/部署相关"
  echo "   chore:  其他杂项"
  echo "   格式示例:feat: 新增购物车功能"
  exit 1  # 非 0 状态会阻止提交
fi

实现效果:


image.png

相关文章

  • 标签(tag)实践

    关于git的标签的理解 - git的标签就是某个commit点的别名 - git的标签只与commit点有...

  • 使用 git hook 规范 Android 项目

    引言 本文所说的『规范』包含两个部分 git commit 是注释的规范 git commit 时对代码规范的检查...

  • git commit规范

    git commit规范 git-commit规范 在多人协作项目中,如果代码风格统一、代码提交信息的说明准确,那...

  • gitflow 规范及工具整理

    gitflow 进阶规范 git cz 通过工具 git-cz 规范 git commit 提交信息。 使用 gi...

  • GIT 规范

    git 规范 git 规范一般包括两点:分支管理规范和 git commit 规范。 分支管理规范 一个项目可以创...

  • git操作

    git规范 Git 使用规范流程 团队中的 Git 实践 Git: 教你如何在Commit时有话可说 Git工作流...

  • Git Commit message(Angular规范)

    Git Commit message(Angular规范) Commit message 的格式 1. Heade...

  • git commit 提交规范(优化)

    git commit 提交模板和规范 Git每次提交代码,都要写 Commit message(提交说明),否则就...

  • 用 git 钩子,检测代码规范性(eslint、standard

    最终实现效果说明: 用 git commit 提交代码之前,利用 pre-commit git 钩子,实现代码规范...

  • git提交规范

    git的规范和相关科普知识 git commit 的规范要求(参考Angular团队) message格式如下: ...

网友评论

      本文标题:git commit 标签规范

      本文链接:https://www.haomeiwen.com/subject/codaxstx.html