我能否看到一个示例后置钩子来在每个提交的文件上运行脚本?
例如:
git add file1
git add file2
git commit -am "my commit"
当钩子被触发时,它将执行:
myscript -myparams "file1"
myscript -myparams "file2"
最好的方法是添加一个参数来控制是否运行此钩子,例如:
git commit -X
… 执行此后提交钩子。最终可以使用别名 git-commitx
。同样的版本也可以作为文件索引中的预提交钩子吗?如果在其中一个文件上执行脚本失败,我能否中止提交?
编辑:
这是我现在拥有的:#!/bin/sh
#.git/hooks/post-commit
dir=`pwd`
echo ----------------------------------------------
echo PHP Mess Detector results for commited files:
echo ----------------------------------------------
git show --pretty="format:" --name-only | grep '\.php$' | xargs -i phpmd $dir/'{}' text codesize,unused$
echo ----------------------------------------------