在 git 的 pre-commit hook 裡面檢查 console.log

作者:   發佈於:  

由於我常用 console.log 來 debug javascript,所以總是會失誤把 "console.log(...)" 送進 git 裡。如果又一不小心被 deploy 到 production 上的話,那可就麻煩了。為了及早避免,可以使用 git 的 pre-commit hook 來做檢查。

.git/hooks/pre-commit 中加入以下內容,並 chmod +x .git/hooks/pre-commit

#!/bin/sh
has_console_log=$(git diff --cached | ack '^\+\s*console\.log\(.*\)')

if [ "$has_console_log" != "" ]
then
    echo "ERROR: You have console.log in your commit. Remove them."
    exit 1
fi

並安裝 ack

這個簡單的 commit hook 會檢查是否有新加入的 'console.log' 字樣,如果有的話就中止 commit,並印出一個錯誤訊息。