首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法通过http克隆git repos;

无法通过http克隆git repos;
EN

Stack Overflow用户
提问于 2013-10-31 04:17:14
回答 5查看 19.2K关注 0票数 22

我正在尝试使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路径。相反,存储库根目录下有inforefs目录。

显然,克隆的裸存储库并不像客户端所期望的那样结构化。有人知道为什么会这样吗?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2013-10-31 13:09:32

您需要在服务器上运行git update-server-info来生成“哑协议”工作所需的文件。

票数 26
EN

Stack Overflow用户

发布于 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,然后您应该能够克隆回购。

票数 10
EN

Stack Overflow用户

发布于 2014-04-11 04:58:44

当远程在git存储库1.7.X上运行,而git客户端为1.8.X时,我遇到了这个问题;我通过将我的客户机降级到1.7.X来证明这一点--这解决了这个问题。因此,确保git在“客户端”和“服务器”端是相同的版本。我执行的命令是git克隆。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19698352

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档