前端优化之路: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的拦截

到这里,就配置完成了,达到了预期效果

相关推荐
云闲不收42 分钟前
git rebase
git
江上清风山间明月1 小时前
git pull和git checkout在恢复文件的区别
git·pull·checkout
海鸥812 小时前
in argocd ‘/tmp/_argocd-repo/../.git/index.lock‘: No space left on
git·argocd
尔嵘3 小时前
git操作
大数据·git·elasticsearch
大柏怎么被偷了5 小时前
【Git】企业级开发模型
git
Garfield20055 小时前
Git 分支拓扑实践
git·拓扑
DKNG5 小时前
【Windows Host】 hosts配置增加访问github流畅度
人工智能·git·github
一个很帅的帅哥8 小时前
git命令大全
大数据·git·elasticsearch
凯子坚持 c8 小时前
Git 远程仓库操作与深度进阶指南
git
勇敢牛牛_8 小时前
RustRover 2025.3 在WSL中GIT操作十分缓慢的问题
git·rust·rustrover