hook.png
在我們用git進(jìn)行版本控制的時候 很多時候都是圍繞著issue開發(fā),每次git的提交都關(guān)聯(lián)上issue對于我們后期的排查有很大的幫助对人,但是每次commit 的時候都關(guān)聯(lián)下issue難免有點煩躁,所以我們今天可以通過在本地配置一下來實現(xiàn)每次commit 自動關(guān)聯(lián)對應(yīng)的issue。
-
在項目的
.git/hooks
目錄下創(chuàng)建一個prepare-commit-msg
文件
image.png copy下面的腳本到上面創(chuàng)建的
prepare-commit-msg
文件里
#!/bin/sh
NAME=$(git branch | grep '*' | grep -Eo "#\d+")
DESCRIPTION=$(git config branch."$NAME".description)
echo "$NAME"': '$(cat "$1") > "$1"
if [ -n "$DESCRIPTION" ]
then
echo "" >> "$1"
echo $DESCRIPTION >> "$1"
fi
- 因為commit 的時候會執(zhí)行上面那個腳本所以要給這個腳本添加可執(zhí)行權(quán)限
chmod u+x prepare-commit-msg
-
驗證
image.png -
查看真實的提交日志
image.png
可以看出我們提交的內(nèi)容是heiqie test
,但是實際提交到git 里的commit內(nèi)容是
#2: heiqie test
, push 到遠(yuǎn)程分支,就可以在對應(yīng)的issue上看到提交點了
- 不足
這種方式配置需要分支上有issue號比如 issue#223