【问题标题】:git post-receive hook to write files from bare repo to www folder msysgit (windows)git post-receive 钩子将文件从裸仓库写入 www 文件夹 msysgit (windows)
【发布时间】:2013-02-02 12:06:16
【问题描述】:

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

我希望在 post-receive 事件上将文件部署到目录 c:\UniServer\www\Scripts 这里是我的 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 (@987654321 @) 来管理存储库。

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

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

【问题讨论】:

  • 我已经尝试过 chmod 777 post-receive,但没有奏效我正在调用 bash,方法是转到 C:\GitStack\git 并通过管理员运行 git-bash.bat

标签: windows git apache msysgit gitstack


【解决方案1】:

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

希望有帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-21
    • 2010-10-02
    • 2014-05-13
    • 2014-10-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多