前端优化之路:git commit 校验拦截
【前言】
前面在git分支规范那篇文章里,介绍了commit提交规范,如下图
但是想要做到高效落地执行,就需要做些别的功课,先展示下成果图
没错,对不符合规范的commit进行了拦截,符合才可以成功提交。
【前期准备】
需要了解git hooks,它是git的钩子,就像vue拥有自己的钩子一样
官方文档:https://git-scm.com/docs/githooks
本次优化中,只需要使用 commit-msg 钩子,它不仅可以实现 commit拦截,还能实现merge拦截
项目安装 husky,建议稳定版本4.3.8
npm install husky@4.3.8
【项目配置】
在项目package.json中,与scripts同级层配置钩子,npm run xxx,xxx为自定义的脚本执行命令
在scripts中配置脚本命令。xxx 为自定义的脚本名,会使node打开并执行指定目录下的js脚本文件,所以node后跟着的是自定义的脚本存放地址
【自定义脚本】
在上述脚本执行路径创建commit-msg.js,文件名自定义,对应上面的路径就行。
先引入fs工具包,不用安装,它是node的工具包。
自定义提交类型(type)
为了提示信息能够醒目,自定义颜色(如果无需醒目,这步可省略)
自定义基本提示语
获取commit相关对象
对三种情况进行校验,提示并拦截
另外,还可配置merge的拦截
到这里,就配置完成了,达到了预期效果
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理