0

gitデーモンを初めてインストールします。私はそれを実行しています:

[todd@hqdevgit01 test.git]$ ps -ef | grep git
501       3204     1  0 10:14 ?        00:00:00 git-daemon --reuseaddr --user=gitdaemon --group=blah-dev --detach --base-path=/var/blah/git-repo/

私はgitdaemonユーザーを次のように設定しています:

[todd@hqdevgit01 test.git]$ grep gitdaemon /etc/group
blah-dev:x:502:todd,gitdaemon
gitdaemon:x:503:

リポジトリは次のように設定されます。

[todd@hqdevgit01 test.git]$ ll /var/blah/git-repo/test.git
total 32
drwxrwsr-x. 2 root blah-dev 4096 May  1 10:11 branches
-rw-rw-r--. 1 root blah-dev   92 May  1 10:11 config
-rw-rw-r--. 1 root blah-dev   73 May  1 10:11 description
-rw-rw-r--. 1 root blah-dev   23 May  1 10:11 HEAD
drwxrwsr-x. 2 root blah-dev 4096 May  1 10:11 hooks
drwxrwsr-x. 2 root blah-dev 4096 May  1 10:11 info
drwxrwsr-x. 4 root blah-dev 4096 May  1 10:11 objects
drwxrwsr-x. 4 root blah-dev 4096 May  1 10:11 refs

クライアント上で

me@me:~/projects/test$ git remote add test todd@hqdevgit01:/test.git
me@me:~/projects/test$ git pull test 
todd@hqdevgit01's password: 
fatal: '/test.git' does not appear to be a git repository
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

ここで何が欠けているのか完全にはわかりません。ディレクトリを結び付け、リポジトリを「ルート」パスに表示するために必要なのは、gitデーモンコマンドのベースパスだけだと思います。


としても開始しようとしました

git daemon --reuseaddr --user=gitdaemon --group=blah-dev --detach --base-path=/var/blah/git-repo/ /var/blah/git-repo/

サイコロなし


「git-daemon-export-ok」を追加

[todd@hqdevgit01 test.git]$ ll
total 32
drwxrwsr-x. 2 root blah-dev 4096 May  1 10:11 branches
-rw-rw-r--. 1 root blah-dev   92 May  1 10:11 config
-rw-rw-r--. 1 root blah-dev   73 May  1 10:11 description
-rw-rw-r--. 1 todd blah-dev    0 May  1 10:36 git-daemon-export-ok
-rw-rw-r--. 1 root blah-dev   23 May  1 10:11 HEAD
drwxrwsr-x. 2 root blah-dev 4096 May  1 10:11 hooks
drwxrwsr-x. 2 root blah-dev 4096 May  1 10:11 info
drwxrwsr-x. 4 root blah-dev 4096 May  1 10:11 objects
drwxrwsr-x. 4 root blah

まだ動作していません (同じエラー)


これは多面的なエラーですが、レポをパスアウトする必要がありました。

git remote add test todd@hqdevgit01:/var/blah/git-repo/test.git

また、FOLKOL によって言及されているように (私のスタートアップ スクリプトから):

USER=gitdaemon
GROUP=blah-dev
BASE_PATH=/var/blah/git-repo/
ARGS="--user=$USER --group=$GROUP --detach --reuseaddr --base-path=$BASE_PATH $BASE_PATH"

git daemon $ARGS
4

1 に答える 1

3

使用している接続文字列は ssh 接続 (user@host:path) です。git デーモンから複製するには、次の形式の文字列を使用します: git://host/test.git。

$ git clone git://hqdevgit01/test.git

git リポジトリを git デーモンで共有可能としてマークするには、git-daemon-export-ok という名前のファイルを追加する必要があります。

または、デーモンを呼び出すときに--export-allを追加できます。

$ git daemon --base-path=. --export-all --reuseaddr --verbose

詳細については、ドキュメントを参照してください。

于 2015-05-01T19:34:41.653 に答える