1. ホーム
  2. eclipse

[解決済み] Eclipse で git リポジトリをクローンまたはプッシュすると、「cannot open git-upload-pack 」というエラーが発生します。

2022-03-02 18:24:09

質問

EclipseでBitbucketにあるgitリポジトリのクローンやプッシュができません。

前日までは何の問題もなかったのに、不思議です。3回ほどstsをダウンロードしたのですが、うまくいきません。このエラーはずっと表示されています。また、SourceTreeをインストールしましたが、「これは有効なソースパス/URLではありません」と表示されます。

gitコマンドでプロジェクトをインポートすればうまくいくのですが、git初心者なのでこの作業はEGitで行いたいのです。

関係あるか分かりませんが、同じディレクトリにandroid-adt-bundleがあります。これはかなりうまくいくのですが、プロジェクトはBitbucketではなくGitHubにあります。また、私は別の人と働いていて、彼はBitbucketリポジトリからデータを取得したり、プッシュしたりすることができます。私はたくさんの投稿を読みましたが、どれも私を助けてくれませんでした。

Windows 7を使用しています。

解決方法は?

のおかげで、ようやく動くようになりました。 Eclipseフォーラムで紹介されている手順 :

SSHキーに関する設定をする

  1. のgithubの説明に従って、mysys gitをダウンロードし、インストールします。 http://help.github.com/win-git-installation/
  2. C:/Users/you/ssh で、既存の鍵 (id_rsa と id_rsa.pub) をサブディレクトリに隠します。sshディレクトリが存在しない場合は、作成します。もちろん、"you"はOSが知っているあなたのユーザー名です。
  3. スタートメニューから、Git-Bashコマンドシェルを実行します(通常のDOSコマンドシェルは動作しません)。
  4. Git-Bashシェルで、メール(githubで登録したもの)を元にrsaキーを生成します。 ssh-keygen -t rsa -C "[email protected]" で、パスフレーズを入力し、聞かれたら確認します。
  5. 前の手順で、C:/User/you/ssh/id_rsa.pub が作成されているはずですので、テキストエディタで開き、コピーしてください。github のアカウント設定、SSH 鍵、鍵を追加して、鍵のボックスにこれを貼り付けます。
  6. 再びGit-Bashで(次の行のバックティックに注目してください)。 eval `ssh-agent` ssh-add C:/User/you/ssh/id_rsa ssh [email protected]

ここで、あなたが今行ったことを説明します。ssh-agent を実行し、ssh-add が必要とするものを実行しました。そして、ssh-add を使って鍵の場所を記録しました。そして GitHub に ssh でアクセスしようとしました。この最後のコマンドに対する応答は、GitHub での認証には成功したがシェルへのアクセスはできない、というものでした。これは単なる認証テストです。もし認証がうまくいかなかった場合は、それを解決しなければなりません。verbose 版を試してみましょう。

ssh -v [email protected]

これがうまくいったとすると......。

Eclipseで、リモートプッシュを設定します。

  1. ウィンドウ > ビューを表示する > ギルド > Git リポジトリ を実行すると、リポジトリエクスプローラウィンドウが追加されます。
  2. リポジトリウィンドウで、リポジトリを選択して展開し、右クリックで リモート を選択し リモートの作成 .
  3. GitHub のリポジトリページから GitHub リポジトリの URI をコピーして、URI ボックスに貼り付けます。
  4. プロトコルはsshを選択し、URIボックスに戻り、先頭に"git+"を追加すると、以下のようになります。

    git+ssh://[email protected]/UserName/ProjectName.git

  5. リポジトリパス ボックスで、先頭のスラッシュを削除します。

  6. ヒット 次へ をクリックし、指をくわえてみてください。もし、"auth fail"と表示されたら、Eclipseを再起動し、ステップ5を再試行してください。
  7. 認証を通過したら、次のダイアログでソース参照に "master" を選択し、 "Add all branches spec" をクリックして "Finish" を実行します。

SSH [email protected] を使うのではなく、SSH [email protected] でやりました。

これで問題なくプッシュとインポートができるようになりました。