为什么要写好Commit Message

案情回顾

最近工作中遇到Commit Message都是如下这种类型

0488A69B7BE5479F8C15839F01145529.jpg
C123E8C21104444C964EEA60835ADBE2.jpg

简单的 fix ut,add log, add test, 修复log等,中英文混合,各式各样Message, 这些Message没有分类,没有详细的描述,没有说明改动的范围等信息。

解决方案

下面以在IntelliJ IDEA中怎么使用插件统一提交规范,分享一下我工作中解决的方法。努力推动组内其他同事一起使用起来。

1,Windows IntelliJ IDEA 安装 Git Commit Template插件,重启IDEA。


1.jpg

2,Commit Changes,点击绿色方框。


2.jpg

3,弹出


3.jpg

下面详细介绍一下各个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在团队开发中很重要,但是否一定要强制按照某一种形式也是仁者见仁的事情,好的规范能提高团队工作效率,提高项目的整体质量,也能提高自己的职业素养。

你可能感兴趣的:(为什么要写好Commit Message)