推送到通过HTTP本地托管的git存储库

时间:2013-04-12 14:42:19

标签: git

我希望使用http://localhost:8000/tehCode.git命令推送到python -m "SimpleHTTPServer"托管的git存储库。

我收到错误

error: Cannot access URL http://localhost:8000/tehCode.git/, return code 22
fatal: git-http-push failed

我可以很好地克隆这个存储库,但我无法推动它。 假设我还想使用Python SimpleHTTPServer,我该怎么做呢?

我已经看过了

  1. Cannot push Git to remote repository with http/https
  2. https://superuser.com/questions/473177/git-push-fatal-failed
  3. 但他们似乎正在使用Apache,大多数解决方案都是通过编辑Apache的配置文件。

2 个答案:

答案 0 :(得分:4)

使用SimpleHTTPServer时,您使用的是所谓的dumb http协议。它被称为哑巴,因为它完全不了解git。因此,推送到这样的服务器不起作用,因为http服务器不知道如何处理git请求。

Git有一个名为git-http-backend的cgi脚本,它允许使用智能http协议来推送http。

我没有这方面的经验,但你可以看看你可以指向git-http-backend的pythons CGIHTTPServer

但最简单的方法是使用apache

答案 1 :(得分:-1)

为什么使用HTTP,如果它是本地的?只能git push where/the/repo/lives可以做。