我在服务器端拥有裸露的回购协议(protocol),并且能够从本地计算机成功提交和推送。但是,接收后挂钩未运行。细节:
-rwxr-xr-x
权限echo "Some text"
,但这未显示(请参阅:Post Commit Hook Not Running)。 。
user@server:/home/repos/project1/hooks# cat post-receive
#!/bin/sh
echo "Hook is running..."
export GIT_WORK_TREE=/home/web/project1/www/
git checkout -f
rm -rf /home/web/project1/www/temp/
最佳答案
为了运行Git挂钩,它需要设置权限以使其可执行。如果一个钩子(Hook)似乎没有在运行,请check the permissions并确保它是可执行的。如果不是,您可以使所有的钩子(Hook)都可以像这样执行:
chmod ug+x .git/hooks/*
...或者如果您想使一个钩子(Hook)(例如
post-receive
)可执行:chmod ug+x .git/hooks/post-receive
(感谢this post)
关于git - git post-receive钩未运行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8206023/