[git-daemon]git-pushすると「fatal: The remote end hung up unexpectedly」というエラーが発生する

徐々にSubversionからGitへ移行中です。

githubのリポジトリを使ったり、既存のSubversionリポジトリをgit-svnで使ったりしてはいたのですが やっぱり自分用のリポジトリサーバが欲しいのでCentOS5.2にgitサーバを立ててみた。

CentOSへのgitのインストールはこちらを参考にしました。

CentOS 5.1にGitをパッケージで入れる
http://brass.to/blog/centos_git.html

リポジトリを公開する方法はこちらを参考にしました。

[Git]Git再び(git-daemon)リンゴの水やり?(はてな)
http://d.hatena.ne.jp/gutskun/20081121/1227249819

例えばgit://example.com/test.gitを公開したとして、クライアントから

% git clone git://example.com/test.git ./test
% cd test
% echo "hoge" > test.txt
% git add .
% git commit -m "test commit."

とこんな感じでチェックアウトして、変更。 これをリモートリポジトリにpushしようとすると

% git push
fatal: The remote end hung up unexpectedly

こんな感じのエラーが出てしまった。

[2292] Request receive-pack for '/test.git'
[2292] 'receive-pack': service not enabled for '/var/git/test.git'

その際、サーバ側にこんな標準エラーが出ているので、マニュアル参照。

http://www.kernel.org/pub/software/scm/git/docs/git-daemon.html

git-daemonの起動時にreceive-packを有効にしておけば良さそう。

git-daemon --verbose --export-all --base-path=/var/git --enable=receive-pack &

こうしてからgit-push したらうまくいきました。

関連記事

  1. Ajax
  2. JavaのString#hashCode()をRubyで再現
  3. AS3 ショック
  4. 文字列からクラスインスタンスを生成する(Function.applyで)
  5. Fixtureのhas_manyでこんな書き方したい
Posted in 日記 at 2月 24th, 2009. Trackback URI: trackback

One Response to “[git-daemon]git-pushすると「fatal: The remote end hung up unexpectedly」というエラーが発生する”

  1. 6月 10th, 2009 at 5:07 PM #Xenix » Blog Archive » GIT中級

    [...] 昨日に引き続き、git-daemonです。 マニュアルを見ているとgit daemonはinetdで起動できるみたいなので、それならxinetdで立ててみるかなという気持ちになってきました。 [...]

Leave a Reply