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

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

相关推荐
微尘寒风3 小时前
【Git】的安装和使用
java·git
胖大和尚13 小时前
Git初始化本地文件夹,并推送到远端
git
啵啵啵123413 小时前
Git 底层原理:分支为什么只是一个 41 字节的文件
git
demon755200315 小时前
Git Worktree详解介绍
git·worktree
胖大和尚16 小时前
当前仓库推送到同一台机器上的另一个文件夹
git
轮到我狗叫了2 天前
git - 版本控制工具 - 对应的常见命令 - 以及无需后续每次手动source conda
git
changxiang2 天前
GIT 备忘
git
DogDaoDao2 天前
Windows 开发提效工具全景指南:60+ 工具的工程化分层配置
windows·git·程序员·开发工具·powershell·everything·msys2
wdfk_prog3 天前
GitHub push 失败:如何扫描并清理 Git 历史中的大文件
git·elasticsearch·github
大明二代3 天前
使用 Traefik、cert-manager 和 DNS-01 为内网 Kubernetes 服务配置 HTTPS
git·kubernetes·flux