【问题标题】:`git clone` over HTTP Fails with "repository not found"`git clone` over HTTP 失败,“找不到存储库”
【发布时间】:2015-07-30 13:32:36
【问题描述】:

我正在尝试建立一个可公开访问的 git 存储库,该存储库可以通过 HTTP 在我实际拥有并具有 root 访问权限的服务器上进行克隆,但似乎我遗漏了一些东西。我是 git 新手,所以我不能很好地解决问题,但这是我所知道的:

  1. 我可以用 git clone ssh://git@repo.alaskawh.com/awhsome-framework 克隆 git 存储库就好了
  2. git clone http://repo.alaskawh.com/frameworkfatal: repository 'http://repo.alaskawh.com/framework/' not found 失败
  3. http://repo.alaskawh.com/framework/ 列出了 git 存储库中的文件,当我在 Web 浏览器中访问它时就可以了

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

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

【问题讨论】:

  • 您是否根据these docs 实现了一个Git Smart HTTP 服务器?
  • @javabrett 我没有。我正在努力实现它,它正在做一些事情。

标签: git apache


【解决方案1】:

您应该设置一个Git Smart HTTP server backend。其他文档可用here。这将通过 HTTP 提供简单高效的 Git 托管解决方案。

【讨论】:

  • 问题肯定是我缺少一个 Git Smart HTTP 服务器后端;但是,我还不能让它正常工作。另外,我发现these instructions 更有用。
  • 谢谢,我打算在原始答案中添加该链接,但由于某种原因被忽略了。已编辑/添加。
  • 我想通了。我缺少的是 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克隆。
猜你喜欢
  • 1970-01-01
  • 2020-06-29
  • 1970-01-01
  • 1970-01-01
  • 2017-07-15
  • 1970-01-01
  • 2018-01-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多