MENU
CLOSE
システム Edit : 2021.08.27 Update : 2024.11.06

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

2023/01/17 追記
今まではこの記事の下記の方法で対応していたのですが、2022年途中くらいから私の環境では対応ができなくなりました。
(個人の環境の問題なのか、根本的にやり方が変更になったのかが現状わかりません。)
そこで、私は苦渋の決断の末、Github Desktopというクライアントに乗り換えました。

▶ GitHub Desktop

個人的には、Sourcetreeより直感的で分かり易く使いやすいと感じています。
下記方法を試してみてうまくいかない場合は、GitHub Desktopも検討してみるのも良いかもしれません..!

————

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




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

Miki Kohinata

大学時代、将来独立することを決めエンジニアの道へ。就職したIT企業で藤本と運命的に出会いKOHIMOTO設立。目指すのは人の心に寄り添えるエンジニア。人生のテーマソングはWeekend by 5lack。