1

所以我有两台 Windows 机器,我基本上是在尝试用 git 管理一些 web 文件我在远程机器上有一个裸存储库,我在本地机器上有一个克隆版本,我已经将一些文件推送到远程存储库。

我希望在接收后事件上将文件部署到目录 c:\UniServer\www\Scripts 这是我的接收后文件的内容:

#!/bin/sh
GIT_WORK_TREE=/c/UniServer/www/Scripts git checkout -f

我的仓库存储在 c:\repos\scripts.git\ 我已使用 chmod 将 c:\repos\scripts.git\hooks\post-receive 的权限设置为 +x 并且我正在使用 gitstack ( http://gitstack .com ) 来管理存储库。

问题是当我在本地推送提交时,远程服务器上的文件没有更新,有没有办法记录钩子中发生的事情或者只是让它工作:)

更新: apache 服务器出现此错误:[Sat Feb 02 20:04:53 2013] [error] [client xx.xx.xxx.xxx] 错误:无法生成挂钩/接收后:没有这样的文件或目录。C:\repos\scripts.git\hooks\post-receive 确实存在,这让我认为这是一个权限错误

4

1 回答 1

1

我遇到了同样的问题,为我解决的问题是让 GitStack 服务作为本地用户帐户而不是本地系统运行。当然,您使用的任何帐户都需要对存储库文件夹的读/写权限,但我不确定它可能需要哪些其他权限;我只是使用本地管理员帐户进行测试。

希望有帮助!

于 2013-03-21T22:17:59.480 回答