SourceTreeから、GitHubのリモートリポジトリにPushしようとしたら…できない(T_T)
どうも、SourceTreeで、GitHub認証に失敗するから、Pushできない…らしい。
ということで、泣きながらなんとか解決しました。素人のGit初心者が、1人で解決するにはレベル高すぎでした(T_T)
いまではPushはもちろん、Pullもできます。
今日は、SourceTreeで、GitHub認証に失敗するから、Pushできない…を解決した手順をまとめておきます。
解決手順まとめ
SourceTreeで、GitHub認証に失敗するから、Pushできない事象を、解決した手順は、以下のとおりです。
- 以下のページで、手順3の
認証がBasicに選択されている状態で、パスワードを再読み込みします。
まで進む。
WindowsでSourcetreeを使ったGitHubの認証方法でパスワード認証からトークンベース認証への移行方法 - Qiitaはじめに2021年8月13日から、GitHub.comでのGit操作の認証時にアカウントのパスワードを受け付けなくなるような仕様に変更されました。… - そして、失敗したら、以下のページを参考に、OAuthによる認証を行う。
sourcetree/githubでの認証エラーの対処方法 | アプリ関連ニュース | ギガスジャパン今回はsourcetree/githubの認証エラーの対処方法をシェアします。 エラー内容 githubのリポジトリと連携したsourcetreeからgithubサーバーへプッシュ/プル/フェッチなどの操作をおこなう際に | ギガスジャパン - 認証に成功したら、Sourcetreeから、Pushする。その時にダイアログで入力を求められるのでUserNameには、GitHubのユーザー名。Passwordには、発行されたトークンを入力する。
これで、できるかと。たぶん…Git初心者にはレベル高すぎます(T_T)
というわけで、終わりなのですが…
解決していった手順
で、上記の方法で解決できたのですが、素人のGit初心者である私が、1人で解決した手順を、書いておきます。他の人の役に立つかな?
- SourceTreeから、Pushできない
- Git操作のトークン認証要件?
- パスワード認証からトークンベース認証への移行方法というページを発見
- OAuthによる認証を試してみることに…
- SourcetreeからPushすると成功!
では、それぞれの状況を説明していきますね。
SourceTreeから、Pushできない
「改訂2版 わかばちゃんと学ぶGit使い方入門」のChapter3のSection11によると、SourceTreeアプリから、GitHubのUserNameとPasswordを入力すれば、Pushできるはず…なのですが、Pushできないというエラーメッセージが…
メッセージでは、以下のページをみろとのこと…
英語じゃわからない…ということで、ブラウザの翻訳機能を使ってみると…
Git操作のトークン認証要件?
ページをブラウザの翻訳機能を使ってみると「Git操作のトークン認証要件」とあります。トークン??? う~ん(T_T)
2020年7月に、認証されたすべてのGit操作にトークンベースの認証(個人アクセス、OAuth、GitHubアプリインストールトークンなど)の使用を要求する意図を発表しました。2021年8月13日以降、GitHub.comでGit操作を認証する際にアカウントパスワードを受け付けなくなります。
影響を受けるワークフロー
- コマンドラインGitアクセス
- Gitを使用するデスクトップアプリケーション(GitHubデスクトップは影響を受けません)
- パスワードを使用してGitHub.comのGitリポジトリに直接アクセスするアプリ/サービス
引用:Token authentication requirements for Git operations | The GitHub Blog
たぶん、SourceTreeアプリは、Gitを使用するデスクトップアプリケーションだから、Pushするためには、UserNameとPasswordではなく、トークンベースの認証をしなければ、だめなのかも…
パスワード認証からトークンベース認証への移行方法というページを発見
ということで、泣きながらググっていると、「WindowsでSourcetreeを使ったGitHubの認証方法でパスワード認証からトークンベース認証への移行方法」というページを発見!
おぉ、これで解決できる! と思いやってみました。手順は、以下のとおりに書かれています
手順1:個人用アクセストークンの発行 手順2:Sourcetreeのpasswdファイルの削除 手順3:Sourcetreeで個人用アクセストークンを使って、再認証する
各手順には、ちゃんと細かい手順が書いてあるので、1つ1つ順にやって、最後の手順3:Sourcetreeで個人用アクセストークンを使って、再認証する
まできました。
ですが、認証がBasicに選択されている状態で、パスワードを再読み込みします。
で、失敗!
なんどやっても、失敗…
なので、またググって
OAuthによる認証を試してみることに…
なので、またググって以下のページ「sourcetree/githubでの認証エラーの対処方法」に記載されている、OAuthによる認証を試してみることにしました。
すると、めでたく、認証できました。
SourcetreeからPushすると成功!
で、SourcetreeからPushすると成功!
ちなみにPushするときに、Sourcetreeからダイアログで、UserNameとPasswordの入力を求められたかと。
このときUserNameには、GitHubのユーザー名。Passwordには、発行されたトークンを入力しました。
ここまでくるのに延べ2時間はかかったような気がします…
まとめ
ということで、今日はSourceTreeで、GitHub認証に失敗するから、Pushできない…をなんとか解決した手順をまとめてみました。
泣きながらなんとか解決しました。素人のGit初心者が1人で解決するにはレベル高すぎでした(T_T)