3

ローカルLANにgitリポジトリをセットアップしようとしていますが、これまでのところ、クローン、プル、フェッチなどを実行できました。残念ながら、プッシュしようとすると、

致命的: リモート エンドが予期せず電話を切りました。

syslog には次のように表示されます。

git-daemon [10090]: 'receive-pack': './www-dev/aptwebsite.git' に対してサービスが有効になっていません

いくつかの調査の後、「receive-pack」を有効にするだけでよいと思いましたが、方法がわかりません。

私がしようとすると:

git daemon --reuseaddr --base-path=. --export-all --verbose --enable=receive-pack

私は得る:

致命的: ホスト (null) ポート 9418 にリッスン ソケットを割り当てることができません。

やってみると

git receive-pack <working directory>

私は得る:

0070000000000000000000000000000000000000000 capabilities^{} report-status delete-refs side-band-64k ofs-delta 0000^C

助言がありますか?

4

1 に答える 1

0

git-daemon で「リモート エンドが予期せずハングアップしました」という問題に遭遇した場合に役立つ可能性のあるいくつかのポインター。

1) git-daemon に関する Git の「ハウツー」ドキュメントには、「リモート エンドがハングアップしました」というメッセージは一般的なメッセージであると記載されています。何が問題なのかについて詳しくは、サーバー ログを参照してください。最初にセットアップを行う場合は、 --informative-errors スイッチを git-daemon に設定することもお勧めします。これにより、git push コマンドにより役立つエラーが生成されます。

2) 2 番目の問題は、「ホスト (null) ポート 9418 にリッスン ソケットを割り当てることができない」ことです。これは、git-daemon を実装するコード、すなわちdaemon.cからのものです。このコードには、ソケットの設定に問題がある場合にこのエラーを生成する関数 socksetup() があります。つまり、これはネットワーク配管の問題です。ポート 9418 で別のデーモンが実行されていないことを確認します。

3) git receive-packは、エンド ユーザーが実行することを意図したものではありません。つまり、文字列「00700000000000000000000000000000000000000 capabilities^{} report-status delete-refs side-band-64k ofs-delta」は、「作業ディレクトリ」が新しく初期化された Git リポジトリである場合に得られるものとまったく同じです。

要するに、git-daemon からのログを確認し、ネットワーク配管に注意してください。

于 2014-11-11T03:15:29.687 に答える