通过HTTP进行git克隆失败,显示“未找到仓库”。

7
我正在尝试设置一个公开可访问的Git仓库,可以通过HTTP克隆的方式在我拥有物理所有权和root访问权限的服务器上进行,但似乎我遗漏了某些东西。我对Git不熟悉,所以无法很好地进行故障排除,但是这是我所知道的:
  1. 使用git clone ssh://git@repo.alaskawh.com/awhsome-framework可以成功克隆Git仓库。
  2. git clone http://repo.alaskawh.com/framework失败并显示“fatal: repository 'http://repo.alaskawh.com/framework/' not found”。
  3. 当我通过Web浏览器访问http://repo.alaskawh.com/framework/时,它可以很好地列出Git仓库中的文件。

/var/lib/gitolite/repositories/awhsome-framework.git是指向/var/www/repo.alaskawh.com/framework/的符号链接,我已经创建了包含行exec git update-server-infohooks/post-update文件,并确保用户权限正确。

有人知道我做错了什么吗?


你是否按照这些文档实现了一个 Git 智能 HTTP 服务器(http://git-scm.com/book/en/v2/Git-on-the-Server-Smart-HTTP)? - javabrett
1
@javabrett 我还没有。我正在努力实现它,目前已经有一些进展了。 - user1846065
1个回答

3

1
问题肯定是我缺少Git智能HTTP服务器后端;然而,我还没有能够使其正常工作。此外,我发现这些说明更有用:http://git-scm.com/docs/git-http-backend。 - user1846065
谢谢,我本来打算在原回答中添加那个链接的,但不知为何忘记了。已经编辑/添加了。 - javabrett
1
我弄清楚了。我错过的是GIT_PROJECT_ROOT的值必须是包含git文件夹的目录的上级目录。例如,如果将GIT_PROJECT_ROOT设置为/var/www/repo.alaskawh.com/framework,则实际的git目录位于/var/www/repo.alaskawh.com/framework/awhsome-framework.git,然后我可以使用git clone http://repo.alaskawh.com/framework/awhsome-framework进行克隆。 - user1846065

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接