2013-04-12 13 views
6

python -m "SimpleHTTPServer"コマンドを使用してhttp://localhost:8000/tehCode.git serveredでホストされているgitリポジトリにプッシュしたいとします。HTTP経由でローカルにホストされている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

見てきました。しかし、彼らは、Apacheで作業しているようだとソリューションのほとんどは、Apacheの設定ファイルを編集することです。

+0

ちょうど好奇心から、なぜあなたはサーバー上のローカルにリポジトリをホストしていますか? – MMM

+0

継続的なインテグレーションテストプラットフォームをセットアップしようとしています。 – ffledgling

+0

git pushのHTTPメソッドが何を使うのか分かりませんが、それは重要ではありません。重要なのは、あなたがアイデアを持っていて、それを実装しようとしたことを示すことです。あなたのサーバーは正しいメソッドハンドラを実装していますか? –

答えて

4

SimpleHTTPServerを使用している場合は、いわゆるdumb httpプロトコルを使用しています。 gitについての知識がまったくないので、ダムと呼ばれています。そのため、このようなサーバーへの操作はうまくいきません。なぜなら、HTTPサーバーはgitが何をしているのかという手がかりがないからです。

Gitには、git-http-backendというcgiスクリプトがあります。このスクリプトは、スマートhttpプロトコルを使用してhttpをプッシュできるようにします。

私はこの経験はありませんが、pythons CGIHTTPServerを見ればgit-http-backendに向けることができます。

しかし、最も簡単な方法はapacheです。

-1

HTTPがローカルの場合はどうしてですか?ただgit push where/the/repo/livesする必要があります。

関連する問題