所以我有两台Windows机器,我基本上是试图用git管理一些web文件我在远程机器上有一个裸存储库,我在本地机器上有一个克隆版本,我把一些文件推到了远程库中。
我希望将文件部署到目录c:\ UniServer \ www \ Scripts上的post-receive事件,这里是我的post-receive文件的内容:
#!/bin/sh
GIT_WORK_TREE=/c/UniServer/www/Scripts git checkout -f
我的repo存储在c:\ repos \ scripts.git \我已经使用chmod将权限设置为c:\ repos \ scripts.git \ hooks \ post-receive到+ x并且我正在使用gitstack({{ 3}})管理存储库。
问题是当我在本地推送提交时,文件没有在远程服务器上更新,有没有办法记录挂钩中发生的事情或只是让它工作:)
更新: apache服务器出现此错误: [Sat Feb 02 20:04:53 2013] [错误] [client xx.xx.xxx.xxx]错误:无法生成钩子/后接收:没有这样的文件或目录。 C:\ repos \ scripts.git \ hooks \ post-receive确实存在,这让我觉得这是一个权限错误
答案 0 :(得分:1)
我遇到了同样的问题,解决了我的问题是让GitStack服务作为本地用户帐户而不是本地系统运行。无论您使用哪个帐户,当然需要对存储库文件夹的读/写权限,但我不确定它可能需要哪些其他权限;我刚刚使用本地管理员帐户进行测试。
希望有所帮助!