git commit规范

一直在用git,但是每次提交代码都会很乱,所以我自己总结了一份git commit模板自用,大家可以参考一下

基本如下

模板基本如下

<类型>[可选的作用域]: <描述>

[可选的正文]

[可选的脚注]

类型

目前类型比较常用的是Angular.js规定的规范,我看也差不多,所以就沿用那个套规范

feat:新功能(feature)
fix:修复bug,可以是QA发现的BUG,也可以是研发自己发现的BUG
docs:文档(documentation)
style:格式(不影响代码运行的变动)
refactor:重构(即不是新增功能,也不是修改bug的代码变动)
perf:优化相关,比如提升性能、体验
test:增加测试
chore:构建过程或辅助工具的变动
revert:回滚到上一个版本
merge:代码合并
sync:同步主线或分支的Bug

作用域

可以是组件名或者类名或者是具体的文件,如果项目小可以不填,作为一个可选项

描述

描述应为针对本次修改最准确的描述,切忌过长或者过短,应为50个字以内为佳,我自己用的中文

正文

正文是对所做的修改做具体的说明,包括修改的动机,修改的注意事项,具体修改的地方,参考文章等,对于小的修改可省略

脚注

脚注则是针对两种情况

  • 不兼容变动
    如果当前代码与上一个版本不兼容,则 Footer 部分以BREAKING CHANGE开头,后面是对变动的描述、以及变动理由和迁移方法
BREAKING CHANGE: isolate scope bindings definition has changed.

    To migrate the code follow the example below:

    Before:

    scope: {
      myAttr: 'attribute',
    }

    After:

    scope: {
      myAttr: '@',
    }

    The removed `inject` wasn't generaly useful for directives so there should be no code using it.
  • 关闭 Issue

可以关闭某个或多个issue

Closes #234 #256

案例

  • 案例1:
feat(login): 增加login接口

增加登录接口
url:https://wwww.demo.com/login
param:
    username:admin
    password:admin
  • 案例2:
perf(etcd): 缩短etcd登录时间

登录后15min内再次登录采用快速验证方式
从而缩短短时间高频率访问etcd带来的时间消耗
重复登录时间由20ms缩短到5ms

closed #123

TODO

参考文献

Git commit message 规范
Commit message 和 Change log 编写指南

上一篇:黑马JAVA P197 XML解析的案例


下一篇:Mybatis常见的注解