ちょっと時間かかったのでメモ。
なんらかの事情でGitHubアカウントを2個所有していて、通常はグローバルに登録しているメインのアカウントを使用しているけど、ときどきもう一つの方のアカウントの作業をしてリモートリポジトリにプッシュしたい!のようなときに役立つ設定です。
前置き:何もしないとたぶんこうなる
おそらく何も考えずにもう一つのGitHubアカウントの方にプッシュしようとすると上記のようなエラーになるはず。
【メインの方のGitHubアカウント】では【もう一つのアカウントのリモートリポジトリ】にアクセスできないよーと言われてるのでこれを修正する。
プッシュするアカウントを変更
Sourcetreeで対象のローカルリポジトリを開いている状態で画面右の歯車アイコンの「設定」から「リモート」を選択。
対象のリモートリポジトリを選択して「編集」。
するとプッシュ先のURLが編集できるようになっていますので以下の通りに編集します。
(hogehogeのところには対象のGitHubアカウント名を入力)
【before】
https://github.com/hogehoge/your-repository
↓
【after】
https://hogehoge@github.com/hogehoge/your-repository
実際に編集した後の画面が↓こんな感じ。
設定を保存したら再度プッシュしてみましょう。
エラーが解消されてプッシュが正常したら無事設定完了です。
おまけ:コミットするユーザーの名前とメアドも変更したい
上記だけでおそらくプッシュは問題なくできるようになってるはずですが、もう一つのGitHubアカウントの作業をしているということはローカルリポジトリで作業(コミット)している人の名前やメールアドレスもおそらく変更する必要があると思います。
その場合は先程と同様「設定」、高度な設定のユーザー情報を以下のように修正しましょう。
これでもう一つのGitHubアカウントのリポジトリに関する作業する準備が整ったはずです。
めでたしめでたし!