我在服务端有一个裸仓库,并且我能够成功地从我的本地机器提交和推送。然而,post-receive 钩子没有运行。细节如下:
- 使用 SSH 作为协议
- 我已经将标准的 "post-receive.sample" 重命名为 "post-receive"
- 此文件具有
-rwxr-xr-x
权限 - 该文件的所有者与拥有仓库的用户相同,即登录并推送的相同 SSH 用户
- 实际推送正常进行;文件已更新 - 只是钩子没有运行
- 我尝试在钩子之前和之后放置
echo "Some text"
,但这不会显示(参见:Post Commit Hook Not Running)。 - 钩子脚本包含在下面,尽管这似乎不是问题的原因
- 在 Ubuntu 10.04 上使用 git 1.7.0.4
.
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/