6

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

我收到一个错误

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

我可以很好地克隆这个存储库,但我不能推送到它。假设我仍想使用 Python SimpleHTTPServer ,我该怎么做?

我已经看过了

  1. 无法使用 http/https 将 Git 推送到远程存储库
  2. https://superuser.com/questions/473177/git-push-fatal-failed

但他们似乎正在使用 Apache,并且大多数解决方案都是通过编辑 Apache 的配置文件。

4

2 回答 2

4

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

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

我没有这方面的经验,但你可以看看你可以直接到 git-http-backend 的pythons CGIHTTPServer 。

但最简单的方法是使用apache

于 2013-04-12T14:50:07.277 回答
-1

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

于 2013-04-12T18:26:59.217 回答