1

我已将 Windows 上的 msysgit 配置为 HTTP 上的服务器。我已将 Apache 服务器配置为将请求转发到git-http-backened.exe. 当我克隆并尝试从远程 PC 推送到服务器时,一切正常。但post-receive钩子不起作用。

我已添加到接收后

#!/bin/sh
echo "Hook got triggered.." > c:/Repos/logs.txt

当我手动执行脚本时,我看到打印的日志。

但是当我从远程系统推送它时,文件正在更新。推送工作正常,但似乎没有调用钩子,因为没有打印日志。

的权限post-receive-rwxr-xr-x

当我通过 SSH 配置 git 时,我post-receive过去常常毫无问题地发送邮件。将 git 更改为通过 HTTP 工作后,我遇到了问题。我不知道,需要做哪些额外的更改才能使钩子起作用。

4

1 回答 1

1

xxx.git/.git/hooks文件夹。

那是行不通的:如果 repo 是一个裸 repo(如命名约定所示xxx.git/,即一个以 结尾的文件夹.git),那么该hooks/文件夹应该在它的正下方。

xxx.git/hooks

当您设置 Git 服务器时,该服务器的最佳实践仍然是仅管理裸存储库。
看:

于 2015-01-06T11:55:22.737 回答