【发布时间】:2015-03-04 01:21:06
【问题描述】:
我已将 Windows 上的 msysgit 配置为基于 HTTP 的服务器。我已将 Apache 服务器配置为将请求转发到 git-http-backened.exe。当我克隆并尝试从远程 PC 推送到服务器时,一切正常。但是post-receive 钩子不起作用。
我已经添加到post-receive
#!/bin/sh
echo "Hook got triggered.." > c:/Repos/logs.txt
当我手动执行脚本时,我看到打印的日志。
但是当我从远程系统推送它时,文件正在更新。推送工作正常,但似乎没有调用钩子,因为没有打印日志。
post-receive 的权限是 -rwxr-xr-x
当我通过 SSH 配置 git 时,我的 post-receive 过去可以毫无问题地发送邮件。将 git 更改为通过 HTTP 工作后,我遇到了问题。我不知道,需要做哪些额外的更改才能使钩子起作用。
【问题讨论】:
-
您的接收后挂钩在哪里?它是否在您要推送的裸仓库
xxx.git的hooks文件夹中? -
它在 xxx.git/.git/hooks 文件夹中。是的,xxx.git 是我正在推送的仓库。
标签: git apache githooks git-post-receive smart-http