我正在尝试使git存储库可以通过http进行只读访问。
我这样做是因为git-http-backend在我的主机系统上是不可用的。也就是说,我只是简单地将裸存储库放在一个http可访问的位置。
我使用git clone --bare <some-remote-location>在主机上成功地创建了裸存储库。
现在,当我使用git clone http://my.host.name/location将git指向新的克隆时,一条消息报告repository not found。
当我捕获网络流量时,我看到git正在尝试访问http://my.host.name/location/info/refs。这可能会失败,因为存储库中没有info/refs路径。相反,存储库根目录下有info和refs目录。
显然,克隆的裸存储库并不像客户端所期望的那样结构化。有人知道为什么会这样吗?
发布于 2013-10-31 13:09:32
您需要在服务器上运行git update-server-info来生成“哑协议”工作所需的文件。
发布于 2013-10-31 13:11:07
尝试一下提到的here on git-scm for http/s protocol步骤。
基本上,在执行git clone --bare <path-to-repository>之后,您需要通过裸存储库运行mv hooks/post-update.sample hooks/post-update,然后执行一次git update-server-info,然后您应该能够克隆回购。
发布于 2014-04-11 04:58:44
当远程在git存储库1.7.X上运行,而git客户端为1.8.X时,我遇到了这个问题;我通过将我的客户机降级到1.7.X来证明这一点--这解决了这个问题。因此,确保git在“客户端”和“服务器”端是相同的版本。我执行的命令是git克隆。
https://stackoverflow.com/questions/19698352
复制相似问题