大家好,我是小鄭!時間:20:00完
今天分享關于Githooks。
我們主要講一下它怎麼用?有什麼用?我用它來做什麼。
前端的小夥伴們對Hook這個東西應該都很了解。
Hook的意思就是鈎子,用于在執行某個事件之前或之後進行一些其他額外的操作。
Git有很多的事件,如commit/push等,每個事件都有不同的鈎子函數。
我們可以在這些鈎子函數中執行一些自己想要的操作來滿足一些需求。
那麼這些鈎子函數怎麼查到了?
用下面命令:
cd .git/hooks
上圖這些帶.sample後綴的文件就是對應事件的鈎子函數。
随便點開一個文件,裡面就詳細說明如何使用它。
大概就是将對應文件名去掉後綴名,保留文件,将自己想要實現的操作寫在裡面就行。
然而,大家都應該知道,這個.git文件是不能提交到倉庫中去的。這樣一來,如果是多人合作項目,那别人要用就隻能複制過去了。
為了解決這個問題。有一個工具出現了。
Husky
它能讓配置 Git 鈎子變得更簡單。
總的來說就是讓配置文件和鈎子關聯起來。
具體怎麼用?有什麼實用價值 ? 接下來我給大家舉個例子。
講講我作為一個前端開發工程師,在我的項目中,我用git Hooks來做什麼。
在我的項目中我對代碼的提交要求非常嚴格,也必須規範。比如提交代碼信息格式一定要是下面三種形式之一。
--story=需求單号 提交說明
--bug=需求單号 提交說明
--task=需求單号 提交說明
也就是:
git commit -m "--story=12341 說明"
如果不符合這種提交就攔截下來,不準提交。
這個功能怎麼實現?
就用到git Hooks來實現了。
第一步:在package.json裡寫配置
第二步:在build裡寫執行腳本。
腳本内容相對來說長一點,這裡不貼了,有感興趣的找我要哈。
看一下提交效果,假如我像下面這樣提交信息:
git commit -m "1234"
這個提交明顯不符合标準,那麼控制台會報如下信息:
此次提交攔截了。
當然,關于githooks還有其它的用處。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!