前言

自从上次写了Commit 表情符号使用指南后,提交信息便一直使用标签符号进行提交。虽然好看,但是提交终归是不太方便,每次还需要打开文章进行符号搜索,然后粘贴。于是参考网上的各种规范记录此文。

提交预览

1
<type>(<scope>): <subject>

用于说明 git commit 的类别,只允许使用下面的标识。

以下表格来自阿里技术

标识含义
feat新功能(feature)
fix/to修复 bug,可以是 QA 发现的 BUG,也可以是研发自己发现的 BUG。
fix:产生 diff 并自动修复此问题。适合于一次提交直接修复问题
to:只产生 diff 不自动修复此问题。适合于多次提交。最终修复问题提交时使用 fix
docs文档(documentation)
style格式(不影响代码运行的变动)
refactor重构(即不是新增功能,也不是修改 bug 的代码变动)。
perf优化相关,比如提升性能、体验。
test增加测试。
chore构建过程或辅助工具的变动。
revert回滚到上一个版本。
merge代码合并。
sync同步主线或分支的 Bug。

scope 用于说明 commit 影响的范围,比如数据层、控制层、视图层等等,视项目不同而不同。

例如在Angular,可以是$location, $browser, $compile, $rootScope, ngHref, ngClick, ngView等。

如果你的修改影响了不止一个scope,你可以使用*代替。

subject是 commit 目的的简短描述,不超过 50 个字符。

建议使用中文(感觉中国人用中文描述问题能更清楚一些)。

结尾不加句号或其他标点符号。

1
2
fix(DAO): 用户查询缺少username属性
feat(Controller): 用户查询接口开发

工具

VScode

vscode 中Git-commit-plugin插件可以快速生成提交模板。

设置项

  • 展示 Emoji

    默认为true。可在设置中修改

  • 提交类型

    增加其他的提交类型,需要在 json 中添加。

    1
    2
    3
    4
    5
    6
    "GitCommitPlugin.CustomCommitType": [
    {
    "label": "customTypeName",
    "detail": "customTypeDetail"
    }
    ]

    image-20210226204746986

  • subject 最大长度

    subject 的最大长度限制,默认为 20。可在设置中修改。

其他

文章参考