前言

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

提交预览

<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个字符。

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

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

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

工具

VScode

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

设置项

  • 展示Emoji

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

  • 提交类型

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

    "GitCommitPlugin.CustomCommitType": [
      {
        "label": "customTypeName",
        "detail": "customTypeDetail"
      }
    ]

    image-20210226204746986

  • subject最大长度

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

其他

文章参考