前言
最近,在公司独立开发某个小服务的时候,发现自己的git commit -m "message"中的提交message太过于凌乱。以至于,连自己都分不清,每次提交message的在描述什么。
所以..这次笔者想写写,如何利用工具进行提交message的格式化。
首先, 我想谈谈commitlint & husky
额…其实笔者也不懂这两个是啥,貌似最先应用于前端的某个开源项目的git message提交规范。
具体参考该博文:http://www.ruanyifeng.com/blog/2016/01/commit_message_change_log.html
以下操作基于Mac,所以话不多说,直接上手!
-
因为组件commitlint & husky, 需要用node的npm来下载, 所以需要下载node
brew install node不过,很多时候在Mbp上使用brew进行安装软件, 会进行长时间brew update, 这时候你可以这样:
brew search node你会发现会出现很多node选项:
这时候, 说明你是有node的源,可以不用进行brew update, 此时利用配置文件禁止update即可:
vim ~/.bash_profile export HOMEBREW_NO_AUTO_UPDATE=true # 禁止自动更新如果, 没有node源,那么…你就需要brew update了(运气不好, 长时间等待!)。
-
当brew install node安装完毕后, 运行npm -v
-
当安装完npm之后,就可以进行工程项目的初始化了。
项目的git、npm初始化以及commitlint 、husky的配置(注意顺序…..)
-
第一步:git & npm 初始化目录
mkdir project_test #开发目录 cd project_test #进入开发目录 git init npm init -
第二步:安装commitlint
cd project_test #进入开发目录 npm install -g commitizen #安装commitlint依赖 commitizen init cz-conventional-changelog --save --save-exact #加载Angular的message风格此时, 你会发现project_test目录下多了些文件(README.md笔者自己创建的):
到了这一步, 每次使用git commit命令的时候, 换成git cz即可提交格式化message。
但是,如果你在第二步进行git cz 进行提交的话,会发现仅会弹出一个vim文件, 让你自己写提交message。
没错,格式化信息是自己写的……比如:
fix(game.java): 修改一个bug 这是一个锁血的bug修复。所以, 我们需要来husky配合使用。
-
第三步:安装husky
cd project_test npm install --save-dev husky
总结
当完成上面的第三步的时候,就可以使用git cz进行提交了:
当然, 关于feat、fix、style、refactor、perf等的含义, 前言中博客链接已有, 直接看便是。