SourceTreeで、GitHub認証に失敗するから、Pushできない…を解決


SourceTreeから、GitHubのリモートリポジトリにPushしようとしたら…できない(T_T)

どうも、SourceTreeで、GitHub認証に失敗するから、Pushできない…らしい。

ということで、泣きながらなんとか解決しました。素人のGit初心者が、1人で解決するにはレベル高すぎでした(T_T)

いまではPushはもちろん、Pullもできます。

今日は、SourceTreeで、GitHub認証に失敗するから、Pushできない…を解決した手順をまとめておきます。

解決手順まとめ

SourceTreeで、GitHub認証に失敗するから、Pushできない事象を、解決した手順は、以下のとおりです。

  1. 以下のページで、手順3の認証がBasicに選択されている状態で、パスワードを再読み込みします。まで進む。
    WindowsでSourcetreeを使ったGitHubの認証方法でパスワード認証からトークンベース認証への移行方法 - Qiita
    はじめに 2021年8月13日から、GitHub.comでのGit操作の認証時にアカウントのパスワードを受け付けなくなるような仕様に変更されました。
  2. そして、失敗したら、以下のページを参考に、OAuthによる認証を行う。
    sourcetree/githubでの認証エラーの対処方法 | アプリ関連ニュース | ギガスジャパン
    今回はsourcetree/githubの認証エラーの対処方法をシェアします。 エラー内容 githubのリポジトリと連携したsourcetreeからgithubサーバーへプッシュ/プル/フェッチなどの操作をおこなう際に | ギガスジャパン
  3. 認証に成功したら、Sourcetreeから、Pushする。その時にダイアログで入力を求められるのでUserNameには、GitHubのユーザー名。Passwordには、発行されたトークンを入力する。

これで、できるかと。たぶん…Git初心者にはレベル高すぎます(T_T)

というわけで、終わりなのですが…

解決していった手順

で、上記の方法で解決できたのですが、素人のGit初心者である私が、1人で解決した手順を、書いておきます。他の人の役に立つかな?

  1. SourceTreeから、Pushできない
  2. Git操作のトークン認証要件?
  3. パスワード認証からトークンベース認証への移行方法というページを発見
  4. OAuthによる認証を試してみることに…
  5. SourcetreeからPushすると成功!

では、それぞれの状況を説明していきますね。

SourceTreeから、Pushできない


「改訂2版 わかばちゃんと学ぶGit使い方入門」のChapter3のSection11によると、SourceTreeアプリから、GitHubのUserNameとPasswordを入力すれば、Pushできるはず…なのですが、Pushできないというエラーメッセージが…

メッセージでは、以下のページをみろとのこと…

Token authentication requirements for Git operations | The GitHub Blog
Beginning August 13th, 2021, we will no longer accept account passwords when authenticating Git operations on GitHub.com.

英語じゃわからない…ということで、ブラウザの翻訳機能を使ってみると…

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の認証方法でパスワード認証からトークンベース認証への移行方法」というページを発見!

WindowsでSourcetreeを使ったGitHubの認証方法でパスワード認証からトークンベース認証への移行方法 - Qiita
はじめに 2021年8月13日から、GitHub.comでのGit操作の認証時にアカウントのパスワードを受け付けなくなるような仕様に変更されました。

おぉ、これで解決できる! と思いやってみました。手順は、以下のとおりに書かれています

  1. 手順1:個人用アクセストークンの発行
  2. 手順2:Sourcetreeのpasswdファイルの削除
  3. 手順3:Sourcetreeで個人用アクセストークンを使って、再認証する

各手順には、ちゃんと細かい手順が書いてあるので、1つ1つ順にやって、最後の手順3:Sourcetreeで個人用アクセストークンを使って、再認証するまできました。

ですが、認証がBasicに選択されている状態で、パスワードを再読み込みします。で、失敗!

なんどやっても、失敗…

なので、またググって

OAuthによる認証を試してみることに…

なので、またググって以下のページ「sourcetree/githubでの認証エラーの対処方法」に記載されている、OAuthによる認証を試してみることにしました。

sourcetree/githubでの認証エラーの対処方法 | アプリ関連ニュース | ギガスジャパン
今回はsourcetree/githubの認証エラーの対処方法をシェアします。 エラー内容 githubのリポジトリと連携したsourcetreeからgithubサーバーへプッシュ/プル/フェッチなどの操作をおこなう際に | ギガスジャパン

すると、めでたく、認証できました。

SourcetreeからPushすると成功!

で、SourcetreeからPushすると成功!

ちなみにPushするときに、Sourcetreeからダイアログで、UserNameとPasswordの入力を求められたかと。

このときUserNameには、GitHubのユーザー名。Passwordには、発行されたトークンを入力しました。

ここまでくるのに延べ2時間はかかったような気がします…

まとめ

ということで、今日はSourceTreeで、GitHub認証に失敗するから、Pushできない…をなんとか解決した手順をまとめてみました。

泣きながらなんとか解決しました。素人のGit初心者が1人で解決するにはレベル高すぎでした(T_T)

コメント

タイトルとURLをコピーしました