但是想要做到高效落地执行,就需要做些别的功课,先展示下成果图
需要了解git hooks,它是git的钩子,就像vue拥有自己的钩子一样。
官方文档:https://git-scm.com/docs/githooks
项目安装 husky,建议稳定版本4.3.8
在项目package.json中,与scripts同级层配置钩子,npm run xxx,xxx为自定义的脚本执行命令
在scripts中配置脚本命令。xxx 为自定义的脚本名,会使node打开并执行指定目录下的js脚本文件,所以node后跟着的是自定义的脚本存放地址。
在上述脚本执行路径创建commit-msg.js,文件名自定义,对应上面的路径就行。
先引入fs工具包,不用安装,它是node的工具包
自定义提交类型(type)
为了提示信息能够醒目,自定义颜色(如果无需醒目,这步可省略)
自定义基本提示语
获取commit相关对象
对三种情况进行校验,提示并拦截
另外,还可配置merge的拦截