案情回顾
最近工作中遇到Commit Message都是如下这种类型
简单的 fix ut,add log, add test, 修复log等,中英文混合,各式各样Message, 这些Message没有分类,没有详细的描述,没有说明改动的范围等信息。
解决方案
下面以在IntelliJ IDEA中怎么使用插件统一提交规范,分享一下我工作中解决的方法。努力推动组内其他同事一起使用起来。
1,Windows IntelliJ IDEA 安装 Git Commit Template插件,重启IDEA。
2,Commit Changes,点击绿色方框。
3,弹出
下面详细介绍一下各个Tag的作用。
Header
Type of change右边有个下拉三角形,可以选择此次提交的类型,默认是
feat - A new feature 新功能
fix - A bug fix 修复bug
docs - Documentation only changes 只改变了文档
style - Changes that do not affect the meaning of the code (white-space,formatting,missing semi-colons, etc) 不影响代码含义的更改(空白、格式、缺少分号等)
refactor - A code change that neither fixes a bug nor adds a feature 既不修复bug也不添加特性的代码更改
perf - A code change that improves performance 改进性能的代码更改
test - Adding missing tests or correcting existing tests 添加缺失的测试或修改现有的测试
build - Changes that affect the build system or external dependencies(example scopes:gulp, broccoli, npm) 影响构建系统或外部依赖项的更改(例如作用域:gulp、broccoli、npm)
ci - Changes to our CI configuration files and scripts (example scopes: Travis, Circle, BrowserStack, SauceLabs) 对CI配置文件和脚本的更改(示例范围:Travis、Circle、BrowserStack、SauceLabs)
chore - Other changes that don't modify src or test files 不修改src或测试文件的其他更改
revert - Reverts a previous commit 返回先前的提交
Scope of this change:用于说明commit影响的范围。比如什么模块。
Short description:简短描述,介绍此次变更的主要内容。
Body
Long description:本次变更的详细内容
Footer
Breaking changes: 不兼容的变动。
Closed issues:关闭问题。
分享总结
日常开发中大多数团队由于缺少对于Commit Message的规定,业务驱动,导致在commit的时候,message随便填写,团队中没有统一的格式。可读性低并且难以维护,查日志的时候我无法从历史message中读出有用的信息。规范的Commit Message在团队开发中很重要,但是否一定要强制按照某一种形式也是仁者见仁的事情,好的规范能提高团队工作效率,提高项目的整体质量,也能提高自己的职业素养。