Git post通过所有提交接收钩子循环

Git post通过所有提交接收钩子循环,git,githooks,git-post-receive,Git,Githooks,Git Post Receive,我试图在服务器端做一个post-receive钩子,它将为推送中的每个提交运行一次Python脚本 我有一个循环: while read oldrev newrev refname do python /local/Git/util.py $newrev $oldrev $refname done 但这只对push中给出的最后一次提交运行脚本 有没有办法在一次推送中为推送到服务器的所有提交运行脚本?在脚本中,使用git rev list获取范围内的SHA-1提交。在这种情况下,您应该循

我试图在服务器端做一个post-receive钩子,它将为推送中的每个提交运行一次Python脚本

我有一个循环:

while read oldrev newrev refname
do
    python /local/Git/util.py $newrev $oldrev $refname
done
但这只对push中给出的最后一次提交运行脚本


有没有办法在一次推送中为推送到服务器的所有提交运行脚本?

在脚本中,使用
git rev list
获取范围内的SHA-1提交。在这种情况下,您应该循环使用
git rev list$oldrev..$newrev
的输出,例如:

git rev-list $oldrev..$newrev | while read rev ; do
    python /local/Git/util.py $rev $oldrev $refname
done

简单而聪明!非常感谢你。希望你能从圣诞老人那里得到很多礼物!