git commit 规范
提交规范主要是为了让开发者提交完整的更新信息,方便查阅。
目前最为流行的提交信息规范来自于 Angular 团队。
规范中,主要就是要求提交内容要进行分类并填写内容,更为严格的规定是要求标注开发模块,整个语法如下
type(scope?): subject #scope is optional; multiple scopes are supported (current delimiter options: "/", "\" and ",")
type | commit 的类型 |
---|---|
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.length | value 变量调整为 values |
feat(blog): add comment section | blog 新增评论部分 |
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 一定要能简要说明本次代码的改动主要部分,有利于他人与自己后期查看代码记录。