リポジトリを公開 ~ デーモンの開始
ここでは非常に単純な git daemon による Git リポジトリのエクスポートを行う方法を示します。
まず前提として git は既定で 9418 番ポートを使うので services に記載があることを確認します。
$ grep 9418 /etc/services git 9418/tcp # Git Version Control System
リモートでエクスポートしてよいリポジトリには、 リポジトリの.git ディレクトリに git-daemon-export-ok という名前のファイルを作っておきます。
次のコマンドで /path/to/parent ディレクトリをベースパスとして、 リポジトリを公開できます。
$ git daemon --verbose --export-all --base-path=/path/to/parent
この場合、 /path/to/parent/repo1.git が存在する場合、リモートから git://hostname/repo1.git として接続できます。
デーモンが提供するサービス
デフォルトでは upload-pack サービスのみが有効です。 すなわち、クライアントが利用できるコマンドは git fetch、 git pull、git clone のみです。 読み込み専用のデーモンならこれでよいことになります。
リポジトリ単位で有効化するサービスを選ぶ場合は、次のようにして設定します。
$git config daemon.uploadarch true $git config daemon.receivepack true
あるいはデーモンの起動オプションで --enable=receive-pack などとすることもできます。