リポジトリを公開 ~ デーモンの開始

ここでは非常に単純な 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 fetchgit pullgit clone のみです。 読み込み専用のデーモンならこれでよいことになります。

リポジトリ単位で有効化するサービスを選ぶ場合は、次のようにして設定します。

$git config daemon.uploadarch true
$git config daemon.receivepack true

あるいはデーモンの起動オプションで --enable=receive-pack などとすることもできます。

ここまでお読みいただき、誠にありがとうございます。SNS 等でこの記事をシェアしていただけますと、大変励みになります。どうぞよろしくお願いします。

© 2024 Linux 入門