質問: この度、はじめてGITを扱うことになり、いきなりつまずいております。 まず順番に実行したことですが、 BitBucketにリモートリポジトリを作成、 SourceTreeにローカルリポジトリを作成、 バージョン管理対象ファイルを登録、ローカルリポジトリにコミット、 SourceTreeにリモートリポジトリを登録するにあたり、 以下の2つのダイアログ表示が繰り返し表示されプッシュできません。 SSHエージェントを起動しますか? はいをクリック 準備ができたら再試行を押してください リトライをクリック 上記2つの操作を繰り返すだけで、いいえまたはキャンセルをクリックすると 以下のエラーがスローされます(SSHエージェントは起動し、秘密鍵も登録された状態です)。 ``` git -c diff.mnemonicprefix=false -c core.quotepath=false --no-optional-locks push -v --tags --set-upstream リモート名 master:master Pushing to git clone git@bitbucket.org:ユーザー名/レポジトリ名.git FATAL ERROR: Disconnected: No supported authentication methods available (server sent: publickey) fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists. エラー終了しました。エラーの内容は上記をご覧ください ``` 再度SourceTree側のリモートの詳細設定でパスを git clone git@bitbucket.org:ユーザー名/リポジトリ名.git から git@bitbucket.org:ユーザー名/リポジトリ名.git に変更し、プッシュしたところ先のダイアログは一切表示されず 以下のエラーがスローされます。 ``` git -c diff.mnemonicprefix=false -c core.quotepath=false --no-optional-locks push -v --tags --set-upstream リモート名 master:master Pushing to git@bitbucket.org:ユーザー名/レポジトリ名.git To bitbucket.org:ユーザー名/レポジトリ名.git ! [rejected] master -> master (fetch first) error: failed to push some refs to 'git@bitbucket.org:ユーザー名/レポジトリ名.git' hint: Updates were rejected because the remote contains work that you do hint: not have locally. This is usually caused by another repository pushing hint: to the same ref. You may want to first integrate the remote changes hint: (e.g., 'git pull ...') before pushing again. hint: See the 'Note about fast-forwards' in 'git push --help' for details. エラー終了しました。エラーの内容は上記をご覧ください。 ``` 後はSourceTreeのツール>オプション>全般>SSHクライアントの設定>SSHキーに秘密鍵を指定したり しましたが、状況変わりありません。 どうかよろしくお願いいたします。
回答: 今回SSH認証でSourceTreeを使ってリモートリポジトリにプッシュするにあたり、上記の手順と内容を変更してみました(質問した時点で気づきましたが、OSはWindowsです)。 まずSSH認証につきましては、当初HTTPSのURL指定でプッシュして失敗になり、調べたところSSH認証なら成功できたという情報があったためです。URL指定で実行できるならそれで問題ありません。 今回はGitが初めてで訳がわからない状況で作業していますが、以下にその手順を記します。 BitBucketにリモートリポジトリを作成 作成後、BitBucketの当該リポジトリ選択画面でクローンの作成をクリックし、SourceTreeのリンクを選択すると自PCのSourceTreeが起動 (その際、SSHとHTTPSが指定できるが、簡便にHTTPSにしました) 起動したSouceTreeはクローン作成画面になり、参照ディレクトリを指定する箇所で 先に作ったプロジェクトファイルを指定したが、クローンを作成すなら空のディレクトリフォルダを 指定してくださいと促される 空のディレクトリを作成し、クローン作成場所に指定し、クローンが作成される クローン作成場所に指定したフォルダの中にプロジェクトを作成後、 SourceTree上にファイルが表示される バージョン管理対象ファイルを登録し、ローカルリポジトリにコミット リモートリポジトリにプッシュする 今回はひとまず以上です。