目标:在没有 git 程序和 git deamon 的Web服务器上托管 git 存储库(使用 HTTP 作为传输协议并作为 git 协议转储 - 没有脚本,没有 shell,只支持 GET)。
我使用的教程来自: http: //git-scm.com/book/en/Git-Internals-Transfer-Protocols
脚步:
- 创建一个新的 git 存储库。
- 克隆为 --bare 到 grepo.git
- 在 grepo.git 中调用“git update-server-info”(没有文件更改!)
- mv hooks/post-commit.sample hooks/post-commit && chmod a+x hooks/post-commit
- 调用“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。