1

目标:在没有 git 程序和 git deamon 的Web服务器上托管 git 存储库(使用 HTTP 作为传输协议并作为 git 协议转储 - 没有脚本,没有 shell,只支持 GET)。

我使用的教程来自: http: //git-scm.com/book/en/Git-Internals-Transfer-Protocols

脚步:

  1. 创建一个新的 git 存储库。
  2. 克隆为 --bare 到 grepo.git
  3. 在 grepo.git 中调用“git update-server-info”(没有文件更改!)
  4. mv hooks/post-commit.sample hooks/post-commit && chmod a+x hooks/post-commit
  5. 调用“git clone http://example.com/grepo.git

在客户端得到:致命:http://example.com/grepo.git/info/refs?service=git-upload-pack not found:你在服务器上运行了 git update-server-info 吗?

在请求日志的服务器端:[20/Jun/2013:11:45:16 +0200] "GET /grepo.git/info/refs?service=git-upload-pack HTTP/1.1" 404 1385

为什么 git 调用服务器上的任何脚本?我的 git 版本是 1.8.1.5。

4

1 回答 1

1

您可以检查 repo.git/info/refs 权限以查看 Web 服务器进程是否可以读取它。

于 2013-06-20T12:41:49.660 回答