git commit 規(guī)范及約束設(shè)置

業(yè)界通用規(guī)范

AngularJS 在 github上 的提交記錄被業(yè)內(nèi)許多人認(rèn)可勺爱,逐漸被大家引用

格式

1
type(scope):subject

  1. type(必須) : commit 的類別,只允許使用下面幾個(gè)標(biāo)識(shí)
  • feat : 新功能

  • fix : 修復(fù)bug

  • docs : 文檔改變

  • style : 代碼格式改變

  • refactor : 某個(gè)已有功能重構(gòu)

  • perf : 性能優(yōu)化

  • test : 增加測(cè)試

  • build : 改變了build工具 如 grunt換成了 npm

  • revert : 撤銷上一次的 commit

  • chore : 構(gòu)建過(guò)程或輔助工具的變動(dòng)

    1. scope(可選) : 用于說(shuō)明 commit 影響的范圍卫旱,比如數(shù)據(jù)層围段、控制層、視圖層等等奈泪,視項(xiàng)目不同而不同。

    2. subject(必須) : commit 的簡(jiǎn)短描述涝桅,不超過(guò)50個(gè)字符.commitizen 是一個(gè)撰寫合格 Commit message 的工具,遵循 Angular 的提交規(guī)范蕊肥。

添加 git commit約束
一蛤肌、向工程的.git目錄下添加約束文件
二、cd 到工程中裸准,含.git的目錄下。
執(zhí)行如下命令chmod +x .git/hooks/commit-msg琅锻,其中.git/hooks/commit-msg為約束文件路徑向胡。
三、約束文件具體內(nèi)容為

#!/bin/bash

# 獲取提交消息
COMMIT_MSG_FILE=$1
COMMIT_MSG=$(cat "$COMMIT_MSG_FILE")

# 定義提交消息類型的正則表達(dá)式
# 以類型開(kāi)頭僵芹,類型可以是 feat, fix, docs, style, refactor, perf, test, build, revert, chore
TYPE_REGEX="^(feat|fix|docs|style|refactor|perf|test|build|revert|chore): "

# 檢查提交消息類型是否符合規(guī)范
if ! [[ "$COMMIT_MSG" =~ $TYPE_REGEX ]]; then
    echo "Error: Commit message type is invalid."
    echo "Detail:"
    echo "Your commit message was: '$COMMIT_MSG'"
    echo "It should start with one of the following types followed by a colon and a space:"
    echo "feat, fix, docs, style, refactor, perf, test, build, revert, chore"
    echo "Example: 'feat: Add user authentication feature'"
    exit 1
fi

# 獲取描述信息部分
DESCRIPTION=$(echo "$COMMIT_MSG" | sed -E "s/$TYPE_REGEX//")

# 檢查描述信息字?jǐn)?shù)是否在 2 到 50 個(gè)字符之間
if [ ${#DESCRIPTION} -lt 2 ] || [ ${#DESCRIPTION} -gt 50 ]; then
    echo "Error: Commit message description length is invalid."
    echo "Detail:"
    echo "Your commit message was: '$COMMIT_MSG'"
    echo "The description should be between 2 and 50 characters long."
    echo "Example: 'feat: Add user authentication feature'"
    exit 1
fi

exit 0

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末拇派,一起剝皮案震驚了整個(gè)濱河市凿跳,隨后出現(xiàn)的幾起案子疮方,更是在濱河造成了極大的恐慌,老刑警劉巖骡显,帶你破解...
    沈念sama閱讀 222,378評(píng)論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件惫谤,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡溜歪,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,970評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門调衰,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)自阱,“玉大人,你說(shuō)我怎么就攤上這事动壤。” “怎么了阁簸?”我有些...
    開(kāi)封第一講書人閱讀 168,983評(píng)論 0 362
  • 文/不壞的土叔 我叫張陵哼丈,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我饶米,道長(zhǎng),這世上最難降的妖魔是什么檬输? 我笑而不...
    開(kāi)封第一講書人閱讀 59,938評(píng)論 1 299
  • 正文 為了忘掉前任匈棘,我火速辦了婚禮,結(jié)果婚禮上主卫,老公的妹妹穿的比我還像新娘鹃愤。我一直安慰自己完域,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,955評(píng)論 6 398
  • 文/花漫 我一把揭開(kāi)白布凹耙。 她就那樣靜靜地躺著乌妙,像睡著了一般建钥。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上熊经,一...
    開(kāi)封第一講書人閱讀 52,549評(píng)論 1 312
  • 那天镐依,我揣著相機(jī)與錄音匹涮,去河邊找鬼槐壳。 笑死,一個(gè)胖子當(dāng)著我的面吹牛务唐,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播吨灭,決...
    沈念sama閱讀 41,063評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼刑巧,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了吠冤?” 一聲冷哼從身側(cè)響起恭理,我...
    開(kāi)封第一講書人閱讀 39,991評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎蚯斯,沒(méi)想到半個(gè)月后饵较,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體遭赂,經(jīng)...
    沈念sama閱讀 46,522評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,604評(píng)論 3 342
  • 正文 我和宋清朗相戀三年茄猫,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了困肩。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,742評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡勇劣,死狀恐怖潭枣,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情盆犁,我是刑警寧澤,帶...
    沈念sama閱讀 36,413評(píng)論 5 351
  • 正文 年R本政府宣布醋奠,位于F島的核電站,受9級(jí)特大地震影響钝域,放射性物質(zhì)發(fā)生泄漏锭魔。R本人自食惡果不足惜例证,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,094評(píng)論 3 335
  • 文/蒙蒙 一迷捧、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧漠秋,春花似錦、人聲如沸庆锦。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 32,572評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至焰雕,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間矩屁,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 33,671評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工泊脐, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留烁峭,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,159評(píng)論 3 378
  • 正文 我出身青樓耘柱,卻偏偏與公主長(zhǎng)得像如捅,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子镜遣,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,747評(píng)論 2 361