我使用ssh访问远程git存储库。我在hooks目录中添加了这么简单的post-receive脚本:
#/bin/sh
REPO="$1"
REV="$2"
echo $REPO $REV >> /var/log/gitlog
我更改了本地PC中的代码并多次推送,我在/var/log/gitlog
中没有看到任何内容。我已经检查了收到后的许可。其文件掩码已设置为777.所有用户都可以在控制台上执行该脚本。
答案 0 :(得分:1)
这可能是因为该钩子( post-receive
)不接受任何争论。
请参阅gitHooks:
此挂钩由远程存储库上的git-receive-pack调用,这在本地存储库上执行git push时会发生。在更新所有引用后,它会在远程存储库上执行一次。
此挂钩执行一次以进行接收操作。 它不需要参数,但获取与
pre-receive
钩子在其标准输入上所做的相同的信息。
This answer提及:
您必须使用
read
命令。
#!/bin/sh
read oldrev newrev refname
...