git pre-commit:修改预提交脚本中的文件

时间:2014-01-16 13:02:13

标签: git githooks

是否可以在git pre-commit钩子脚本中修改已更改的文件(我想整理xmls)?如果是的话,该怎么办?现在我有这样的剧本:

files=`git diff --name-only --cached`


was_xml=false
for file in $files
do
    extension="${file##*.}"
    xml="xml"
    if [ "$extension" = "$xml" ]
    then
        tmp_file=$file"_xmlint"
        echo $tmp_file >> fuck
        xmllint --format --encode utf8 $file > $tmp_file
        rm $file
        mv $tmp_file $file
        git add $file
        was_xml=true
    fi
done

if $was_xml ; then
    git commit -m 'Xml cleanup'
fi

但它不起作用......

1 个答案:

答案 0 :(得分:1)

您可能想查找cleansmudge(请参阅http://git-scm.com/book/ch7-2.html)。您可以在暂存文件的干净阶段进行XML重新格式化。