Skip to main content

git commit 规范

· 3 min read
Chengzihan

意义

受大佬 愧怍 的建议,我要规范一下自己的 Git Commit 规范,首先因为规范的提交命名一目了然,其次看起来也更高级,参考愧怍的文档,我也将相关规范记录如下。

Git 每次提交代码,都要写 Commit message(提交说明),否则就不允许提交。但是,一般来说,commit message 应该清晰明了,说明本次提交的目的。这样,就可以让其他人了解到你的代码提交的目的,从而更好地协作开发。

目前,社区有多种 Commit message 的写法规范。本文介绍 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 文章