1

ローカルサーバーにgitstackリポジトリを設定しました。また、無料のgithubアカウントにサインアップして、その様子を確認しました。

しかし、ローカルリポジトリまたはgitハブリポジトリのいずれかからリポジトリのクローンを作成しようとすると、次のエラーが発生します。

Transport Error
Cannot List the available branches
Reason:
Exception caught during execution of ls-remote command

これはどういう意味ですか?この問題を解決するにはどうすればよいですか?

4

3 に答える 3

1

Egitでこの問題が発生した後、GitBashを使用してリポジトリを作成、プッシュ、プルすることに戻りました。その後、このエラーが発生しました。

Git Bashエラー:

fatal: http://xx.xx.x.xxx/mjtest.git/info/refs not found: did you run git update-server-info on the server?

Egitエラー:

Transport Error
Cannot List the available branches
Reason:
Exception caught during execution of ls-remote command

GitBashとEgitの両方のエラーの解決策は、という空のファイルを作成し、それをサーバー上のリポジトリのルートディレクトリにgit-daemon-export-ok直接配置することであることがわかりました。xxxx.git

解決策は次のように説明しました。

呼び出されたgitstackにリポジトリを設定しmjtest、新しいユーザー名とパスワードを作成して、読み取りおよび書き込みアクセス権を持つリポジトリに自分を追加します。

これは私がGitBashで行うことです:

ローカルリポジトリを設定しました:

git config --global user.name "XXXXXXXX"
git config --global user.email XXXXXXXX
mkdir ~/mjtest
cd ~/mjtest
git init
touch README

次に、空のファイルを作成します。

touch git-daemon-export-ok

これで、というファイルとそのファイルを含むローカルリポジトリがREADMEできgit-daemon-export-okました。次に、ファイルをコピーして、サーバーのフォルダーにgit-daemon-export-ok直接配置する必要があります。mjtest.gitそれが完了すると、git-daemon-export-okファイルはサーバー上にある必要があるため、ローカルリポジトリから削除できます。

追加、コミット、およびプッシュ:

git add README
git commit -m 'first commit'
git remote add origin http://XX.XX.X.XXX/mjtest.git
git push origin master

これは機能するはずであり、gitstackサーバーにアクセスして最初のコミットを確認できるはずです。

次に、Egitに戻り、http://XX.XX.X.XXX/mjtest.gitリポジトリのクローンを作成しましたが、機能しました。

これで、GitBashとEgitでプッシュとプルの両方の作業が可能になりました。

于 2012-10-19T11:23:06.220 に答える
0

いくつかの潜在的な理由により、EGit を使用してリモート git リポジトリを複製できないをご覧ください 。そのエラー メッセージに対処しなければならなかった場合は、Eclipse で指定された .ssh ディレクトリが間違っていたか、ssh ディレクトリに SSH キーが完全に欠落していました。

于 2012-10-18T18:39:56.013 に答える