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

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

相关推荐
Sylus_sui14 小时前
git中如何从某次历史提交节点上创建一个新的分支
git·算法·哈希算法
时光Autistic14 小时前
【安装教程】Git安装完整步骤
git·github
小楼v14 小时前
一篇学会在IDEA中的Git常用操作及冲突的解决方法
git·后端
早川91916 小时前
什么是Git,以及其有什么作用呢?
git
-拟墨画扇-17 小时前
Git | 变基操作
git·gitee·github·gitcode
007php00717 小时前
Git 操作偏门指南:常用和隐藏命令与问题解决
java·git·面试·职场和发展·golang·jenkins·php
可爱又迷人的反派角色“yang”18 小时前
GitLab配置与git集成实践
linux·网络·git·docker·云计算·gitlab
Apifox.19 小时前
Apifox 12 月更新| AI 生成用例同步生成测试数据、接口文档完整性检测、设计 SSE 流式接口、从 Git 仓库导入数据
前端·人工智能·git·ai·postman·团队开发
lifewange20 小时前
Git/Gitee/GitHub有什么区别
git·gitee·github
弘毅 失败的 mian21 小时前
Git 分支管理
大数据·经验分享·笔记·git·elasticsearch