徐々に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 したらうまくいきました。
6月 10th, 2009 at 5:07 PM #Xenix » Blog Archive » GIT中級
[...] 昨日に引き続き、git-daemonです。 マニュアルを見ているとgit daemonはinetdで起動できるみたいなので、それならxinetdで立ててみるかなという気持ちになってきました。 [...]