使用grunt可以配置一些代碼檢查的工具,但需要命令行方式運行,因此如果能夠在git中提交代碼時自動運行會方便很多。那么git提供了hooks,位于項目根目錄下.git/hooks文件夾下,在hooks中有多個腳本可供選擇,那么用于提交,我們只需要編寫pre-commit腳本置于此處,便可在每次提交代碼時自動運行。基于這個方便的腳本,那么我們也可以增加一些其他功能,比如代碼文件編碼檢查或轉換。
檢測utf8編碼和自動運行grunt的腳本如下:
#!/bin/sh
grunt --force
git ls-files -z -- <files> |
xargs -0 sh -c '
e=""
for f; do
if ! git show :"$f" |
iconv -f UTF-8 -t UTF-8 >/dev/null 2>&1; then
e=1
echo "Not UTF-8: $f"
#exit 255 # to abort after first non-UTF-8 file
fi
done
test -z "$e"
' -
將<files>*配置為需要檢測的文件。