使用Groovy爲Git添加提交語法約束

第一步:配置JDK

Groovy是依賴於Java的,所以首先要配置好JDK。

1、下載jdk

通過JDK官網獲取jdk安裝包,由於本人電腦是MAC,所以這裏獲取的是MAC版本的JDK
下載Mac版本的jdk
2、安裝jdk

下載完成後,雙擊.dmg文件,按提示一路繼續下去即可完成指引安裝。
安裝jdk
3、配置環境變量

打開cmd命令行,在命令行中輸入

open .bash_profile

命令來打開.bash_profile文件並對其進行編輯,在裏面添加JDK的環境變量
JDK的環境變量

4、檢測剛纔關於Jdk的操作是否成功

在命令行中輸入

java -version

命令行,如果能成功看到類似下面的結果則證明Jdk配置成功

配置成功

第二步:下載Groovy

1、通過Groovy官網下載Groovy安裝包
在這裏插入圖片描述
2、把Groovy的包文件拷貝到某個指定的文件夾

我這裏拷貝到了個人目錄下面的Library文件夾中

/Users/shilei/Library/

3、配置Groovy環境變量

重新打開.bash_profile文件,在裏面添加groovy的環境變量配置groovy環境變量

4、檢測剛纔關於groovy的操作是否成功

在命令行中輸入

groovy -v

命令行,如果能成功看到類似下面的結果則證明Groovy環境變量配置成功

成功配置groovy環境變量

第三步:修改Git的配置文件,爲其添加提交約束語法

1、修改commit-msg文件

打開git的配置文件目錄(默認是隱藏文件,需要讓系統顯示隱藏文件),裏面會有一個hooks文件夾,在hooks文件夾中有一個commit-msg.sample文件
commit-msg.sample文件
打開這個文件,默認的文件內容如下
在這裏插入圖片描述

我們清空這個文件的內容,並重新添加如下所示的約束語法,記得去掉文件後綴名!!

#!/usr/bin/env groovy
import static java.lang.System.exit

//要提交的信息保存在該文件裏
def commitMsgFileName = args[0]
def msgFile = new File(commitMsgFileName)
//讀出裏面的提交信息
def commitMsg = msgFile.text

//對要提交的信息做校驗,如果不符合要求的,不允許提交
def reg = ~"^(fix:|add:|update:|refactor:|perf:|style:|test:|docs:|revert:|build:)[\\w\\W]{5,100}"
if (!commitMsg.matches(reg)) {
    StringBuilder sb = new StringBuilder()
    sb.append("================= Commit Error =================\n")
    sb.append("===>Commit 信息不規範,描述信息字數範圍爲[5, 100],具體格式請按照以下規範:\n")
    sb.append("    fix: 修復某某bug\n")
    sb.append("    add: 增加了新功能\n")
    sb.append("    update: 更新某某功能\n")
    sb.append("    refactor: 某個已有功能重構\n")
    sb.append("    perf: 性能優化\n")
    sb.append("    style: 代碼格式改變\n")
    sb.append("    test: 增加測試代碼\n")
    sb.append("    docs: 文檔改變\n")
    sb.append("    revert: 撤銷上一次的commit\n")
    sb.append("    build: 構建工具或構建過程等的變動\n")
    sb.append("================================================")
    println(sb.toString())
    exit(1)    
}

exit(0)

約束語法
記得去掉文件後綴名!!
去除文件後綴
2、校驗結果

到這裏,我們已經成功爲Git添加了簡單的代碼提交約束規範,來測試一下效果
測試效果
可以發現,如果我們還是像平常一樣,使用git commit -m “添加約束”,會提示信息不規範,我們必須提交符合約束規範的描述信息,才能成功提交代碼。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章