SourceTreeで、複数のGitHubアカウントを登録して使っています。
いろいろといじっていくうちに、いつの間にか有料版GitHubアカウントのほうがOAuth連携後にリモートリポジトリをクローンできなくなっていました。
- オープンソース公開しているGitHubアカウント ← これはOK
- 有料課金して非公開にしているGitHub ← これがNG
エラーメッセージ
以下のアカウントメニューから、httpsでOAuth連携する。ここまでは問題ない。
![](https://blog.tanebox.com/wp-content/uploads/2018/12/sourcetree_setting_account-1-1024x727.png)
https連携しているため、リモートリポジトリのgit URLをクローンしようとすると、「ソースパス、またはソースURLとして正しくありません」と表示され、それをクリックすると以下のエラーが表示される。
sourcetree remote: Invalid username or password. fatal: Authentication failed for XXX
原因
調べると、いろいろなケースが出てくるが、自分の場合は以下の赤線のチェックボックスを外しただけでうまくいきました。
![](https://blog.tanebox.com/wp-content/uploads/2018/12/sourcetree_setting_global_user-1-1024x980.png)
環境によって様々らしく、ひとによってはgitを個別インストールしてSourceTreeの内蔵gitの代わりに指定したり、SourceTreeのバージョンアップしたり、といった対応がありました。
備考
もし、複数アカウントは使わず、1アカウントだけしか運用しないのであれば、GitHub Desktopアプリを使うのもありかもしれません。
なお、複数アカウントがGUI上で簡単に切替できるのは、無料版だとSourceTreeぐらいしか発見できませんでした。たとえば、以下はGitHubの複数アカウント運用に対応していません。