git约定示提交
Git 提交规范中常见的提交类型(如 fix
, feat
等)来源于 Conventional Commits,这是一种语义化提交消息规范,目的是提升协作效率和自动化工具支持(如自动生成 changelog、版本发布等)。
以下是常见的 提交类型(type) 字段说明:
常用提交类型说明
类型 | 描述 |
---|---|
feat | 添加新功能 |
fix | 修复 bug |
docs | 仅文档变更,如 README、注释等 |
style | 格式化变更,不影响代码逻辑(如空格、缩进) |
refactor | 代码重构,既不是新增功能也不是修复 bug |
perf | 提升性能的代码更改 |
test | 添加或修改测试 |
chore | 构建过程或辅助工具变更(不影响源代码/测试) |
build | 构建系统或依赖项变更(如 npm , maven , make ) |
ci | 与 CI 配置相关的变更(如 GitHub Actions、GitLab CI) |
revert | 回滚某次提交 |
merge | 合并分支(不推荐自己写,一般由 Git 自动生成) |
规范格式(Conventional Commit)
<type>(<scope>): <subject>
-
type
:上面表格中的类型 -
scope
(可选):本次改动影响的范围(如模块、功能、组件) -
subject
:简洁明了的一句话描述,不超过 72 字符
✅ 示例:
feat(auth): 支持手机号登录
fix(cart): 修复购物车商品数量显示异常
docs(readme): 更新安装步骤
style(button): 修改按钮缩进样式
refactor(api): 重构接口调用方式,移除冗余参数
test(order): 增加订单模块单元测试
可选的 footer(尾部)
用于:
-
BREAKING CHANGE
: 引入破坏性变更 -
Closes #123
: 关联或关闭 Issue
feat!: 重构支付逻辑BREAKING CHANGE: 移除了 pay() 接口,替换为 payV2()
工具推荐
-
commitizen
:命令行交互式生成符合规范的提交信息 -
cz-customizable
:定制化 scope/type 选项 -
lint-staged + commitlint
:提交前校验提交格式 -
standard-version
/semantic-release
:自动生成版本 & changelog