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でプッシュとプルの両方の作業が可能になりました。