跳到主要内容

git commit 规范

提交规范主要是为了让开发者提交完整的更新信息,方便查阅。

目前最为流行的提交信息规范来自于 Angular 团队。

规范中,主要就是要求提交内容要进行分类并填写内容,更为严格的规定是要求标注开发模块,整个语法如下

type(scope?): subject  #scope is optional; multiple scopes are supported (current delimiter options: "/", "\" and ",")
typecommit 的类型
feat新功能、新特性
fix修改 bug
perf更改代码,以提高性能
refactor代码重构(重构,在不影响代码内部行为、功能下的代码修改)
docs文档修改
style代码格式修改, 注意不是 css 修改(例如分号修改)
test测试用例新增、修改
build影响项目构建或依赖项修改
revert恢复上一次提交
ci持续集成相关文件修改
chore其他修改(不在上述类型中的修改)
release发布新版本
workflow工作流相关文件修改

以下是一些示例:

commit message描述
chore: init初始化项目
chore: update deps更新依赖
chore: wording调整文字(措词)
chore: fix typos修复拼写错误
chore: release v1.0.0发布 1.0.0 版本
fix: icon size修复图标大小
fix: value.length -> values.lengthvalue 变量调整为 values
feat(blog): add comment sectionblog 新增评论部分
feat: support typescript新增 typescript 支持
feat: improve xxx types改善 xxx 类型
style(component): code调整 component 代码样式
refactor: xxx重构 xxx
perf(utils): random function优化 utils 的 random 函数
docs: xxx.md添加 xxx.md 文章

更多示例可以参考主流开源项目的 commit。

检查 commit 规范

要检查 commit message 是否符合要求,可以使用 commitlint 工具,并配合 husky 对每次提交的 commit 进行检查。

当然规范不是强求,但 commit message 一定要能简要说明本次代码的改动主要部分,有利于他人与自己后期查看代码记录。