SourcetreeでGithubにコミットしようとしたときに403エラーがでた時の対処法

Sourcetreeでは、2021年8月13日にGitHubのパスワードが廃止されたようで、コミットまでは出来るのですが、プッシュやプルが出来ないという事態に陥りました。
私の環境では、こんな感じのエラーが出ました。

Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.
remote: Please see https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/ for more information.

いくつか参考にした記事があるのですが、全く同じようにやってもうまくいかず、合わせ技でエラーを解消できたので、その方法をメモします。

参考にした記事

1.【SourceTree】GitHubのパスワード廃止対応(できるだけ簡単に)
2.GitHubのパスワード認証廃止でSourcetreeで403エラーが発生して解決策がわからなかったのでまとめておく

こちらのいずれかの記事のみでも解決できるかもしれません。それでも解決できない方は、このあと記載する上記記事の合わせ技を試してみてください。

やり方

【GitHub上での作業】

まず、エラーにも記載のあるpersonal access token(パーソナルアクセストークン)というものを作る必要があるので、下記URLを参考にトークンを作成します。

個人アクセストークンを使用する ▷
※手順に従ってトークンを作成したら、必ずトークンをメモします。

【SourceTree上での作業】

1.ツール > オプション > 「認証」タブを開きます。
  そこに、元々Githubのアカウントが登録されていたので、そのアカウントをクリックし、「削除」で消しました。

2.アカウントの箇所に「追加」があるのでクリックします。
以下の設定にして、「OAuthトークンを再読み込み」をクリックします。
——-
[Host]
ホスティングサービス:GitHub
優先するプロトコル:HTTPS
[Credentioals]
認証:OAuth
——-
 

3.Githubのログインページが立ち上がるので、自分のGithubのIDとパスワードを入力します。
4.そうすると、先ほどの画面にユーザ名と、「認証成功」の緑のチェックが入りますので、このアカウントを「デフォルトに設定」します。
 

5.SourceTreeの最初に開いた状態の画面に戻り、「設定」画面を開きます。
 

6.[編集]を開き、「URL/パス」の書き換えと、「Remote Account」がGeneric Accountになっている場合は、さきほどアカウント追加したアカウントに変更します。
 

「URL/パス」の変更方法は、下記です。「https://」と「github.com…」の間に、先ほどGithub側の設定で取得し、メモしておいたアクセストークンを貼りつけ、末尾に@をつけます。
元:

https://github.com/[ユーザ名]/[リポジトリ名].git

変更後:

https://[アクセストークン]@github.com/[ユーザ名]/[リポジトリ名].git

 

ここまでの設定をすべて終えたら、プルやプッシュを再度試します。
私はこの方法で解決することができましたので、他の参考サイトの方法で失敗した方は是非やってみてください!