今まで普通に使えてたのに・・。
私の環境では、2017年8月下旬に Windows版SourceTree から Bitbucket や GitHub に接続した際に以下のようなエラーが出て fetch
も push
もできなくなってしまいました。
git -c diff.mnemonicprefix=false -c core.quotepath=false fetch --prune origin Warning: Permanently added 'bitbucket.org,104.192.143.1' (RSA) to the list of known hosts. Permission denied (publickey). fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists.
でも問題なく使えるリポジトリもあるんです。
SSH鍵にもアカウントの権限にも問題は無いようで、とっても謎でした。
リモートリポジトリパスが https のみに?
正常なリポジトリとエラーが出てるリポジトリとを比べると、接続先のリポジトリパスの形式が違っていました。 正常なリポジトリのパスに合わせて修正したところ、問題なく直りましたので、どうやらこれが原因のようです。
- [OK] https://(USER)@bitbucket.org/(USER)/(PROJECT).git
- [NG] ssh://git@bitbucket.org/(USER)/(PROJECT).git
- [NG] git@bitbucket.org:(USER)/(PROJECT).git
※ (USER)
はユーザーID、 (PROJECT)
はリポジトリIDに読み替えて下さい。
※GitHubの場合、 https://(USER)@github.com/(USER)/(PROJECT).git で通ります。
上記3種類の形式が全て利用できていたのですが、 https のみに統一したということなんでしょうか。
最近、SourceTree をバージョン 2.1.10.0
に更新したので、その影響が強そうです。
まぁともかく、 一番上の形式に合わせて「リモートリポジトリのパス」を編集すればOKです。
困っている方がいれば、ぜひお試しください。