首页 > 其他分享 >前端优化之路:git commit 校验拦截

前端优化之路:git commit 校验拦截

时间:2023-12-07 10:55:44浏览次数:32  
标签:脚本 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 [email protected]

 

 

 

【项目配置】

 

在项目package.json中,与scripts同级层配置钩子,npm run xxx,xxx为自定义的脚本执行命令

 

在scripts中配置脚本命令。xxx 为自定义的脚本名,会使node打开并执行指定目录下的js脚本文件,所以node后跟着的是自定义的脚本存放地址

 

 

 

【自定义脚本】

 

在上述脚本执行路径创建commit-msg.js,文件名自定义,对应上面的路径就行。

先引入fs工具包,不用安装,它是node的工具包。

 

自定义提交类型(type)

 

为了提示信息能够醒目,自定义颜色(如果无需醒目,这步可省略)

 

自定义基本提示语

 

获取commit相关对象

 

对三种情况进行校验,提示并拦截

 

另外,还可配置merge的拦截

 

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

 

标签:脚本,git,自定义,钩子,校验,commit,拦截
From: https://www.cnblogs.com/wx3091/p/17881216.html

相关文章

  • day11 Jenkins Pipeline语法-Jenkins基于Gitlab的授权认证 (4.3.1-4.4)
    一、JenkinsPipeline语法上JenkinsPipeline语法Jenkins有多种方式实现交付流水线。其中,JenkinsPipeline是一种比较流行的方式,它提供一个DSL(DomainSpecificLanguage的缩写,)来描述交付流水线。官网地址:https://www.jenkins.io/doc/book/pipeline/syntax/1、什么是Jenkin......
  • idea中git密码输入错误
    idea中git密码输入错误通过idea通过git上传代码时,git密码输入错误,导致验证失败。后面再上传代码时,idea不再弹出输入密码框,无法更改密码。具体修改方式是:idea打开file——》settings——》Appearance&Behavior——》SystemSettings——》Passwords,然后右侧勾选Protectmaster......
  • vant组件一个文本框添加多项校验
    下图为用户密码校验表单,需要对密码是否为空,密码长度,以及密码强度进行校验。但是“密码格式不正确!”这个校验信息并不是我想要的,我想在isPassWordStrength方法中区分开密码长度提示和密码强度提示,方便用户知道具体是什么问题导致校验不通过。<van-fieldrequiredv-model......
  • Devops - 使用gogs搭建企业内部git服务器
    Gogs是一款极易搭建的自助Git服务,使用Go语言开发使得Gogs能够通过独立的二进制分发,并且支持Go语言支持的所有平台。1.运行gogs的准备工作创建运行gogs应用的linux用户#创建gogs用户sudouseradd-mgogs#设定密码sudopasswdgogs配置数据库(mysql)#......
  • 【换源】git命令行迁移仓库
    直接gitclone的话,查看本地分支,会只有默认主分支,可能是master,也可以能是设置的。查看所有分支gitbranch-a*masterremotes/origin/HEAD->origin/masterremotes/origin/branch1remotes/origin/branch2只有一个分支在本地gitpull只会把主分支推送上去。(本地有的)可......
  • Error: error:0308010C:digital envelope routines::unsupported 【问题解决】【转载
    原文链接:  https://www.cnblogs.com/jaxu/p/17171211.html今天早上打开电脑,更新了日常工作的github仓库,然后就是习惯性地执行了"npminstall",发现报了下面这个错误:Error:error:0308010C:digitalenveloperoutines::unsupported顺便看了一下错误堆栈,发现是一个Node......
  • 开发者热议GitHub代码搜索政策,最佳搜索解决方案探索
    近日,名为koepnick的开发者因在一台老式电脑上使用GitHub搜索自己的存储库代码,却没有手机等设备协助验证,导致无法登录GitHub账户,发文怒斥GitHub:如若没有登录,就无法使用搜索代码服务,与其这样不如弃用。 其实,早在今年6月,GitHub官方便发布了一封《代码搜索现在需要登录》的公告......
  • Java Spring Boot 参数校验及自定义校验
    在项目开发中,时常会碰到前端传递过来的请求参数需要校验,毕竟永远不要相信没有经过自己校验的数据,如果是零星几个参数,直接if...elseif...else...即可,但数据量大了,同时为了尽可能地增加复用,这里就可以用到参数校验了,如果你觉得框架提供的校验方法不够用,或者你的校验比较个性化,那......
  • git~为github三方仓库添加贡献的正确方式
    为github三方仓库添加贡献如果希望成为某些开源框架的贡献者,例如如希望加入higress、keycloak、ruoyi这些框架的开发者行列,那么今天的文章应该可以帮到您。克隆和拉取项目FORKHigress到您的存储库。要完成这项工作,您只需单击alibaba/higress主页右侧的Fork按钮。然后你......
  • git操作记录
     gitconfig--globaluser.name"zxk" gitconfig--globaluser.email"[email protected]"cdlearngit/[email protected]:1880/zxk/learngit.git[zxk@node01learngit]$gitclonehttp://10.33.22.6:1880/zxk/le......