現象
久々に使う端末で SourceTree を使って Github での pull や push しようとしました。
すると、その度にブラウザのログイン画面が起動してきて、正しいID( or メールアドレス)とパスワードを入力しても認証に失敗する現象に遭遇しました。
認証に失敗すると Sourcetree は以下のエラーを表示してきました。
git -c diff.mnemonicprefix=false -c core.quotepath=false –no-optional-locks fetch github
Logon failed, use ctrl+c to cancel basic credential prompt.
エラー終了しました。エラーの内容は上記をご覧ください。
メールの受信
時を同じくして、 Github に登録しているメールアドレスに以下のメールが届いていました。
[GitHub] Action required - Password authentication in Git for Windows is no longer supported
We have detected that you recently attempted to authenticate to GitHub using an older version of Git
for Windows. GitHub has changed how users authenticate when using Git for Windows, and now
requires the use of a web browser to authenticate to GitHub. To be able to login via web browser, users
need to update to the latest version of Git for Windows. You can download the latest version at:
* https://gitforwindows.org/
If you cannot update Git for Windows to the latest version please see the following link for more
information and suggested workarounds:
* https://aka.ms/gcmcore-githubauthchanges
If you have any questions about these changes or require any assistance, please reach out to GitHub
Support and we’ll be happy to assist further.
* https://support.github.com/contact
Thanks,
The GitHub Team
Git for Windows の古いバージョンのサポートが終了するという通知です。
確認
そんなはずは……と思って Sourcetree の設定を確認。
Sourcetree の自動アップデートはオンになっているはず……ですが、更新されていませんでした。
Sourcetree の内部で使用している Git のバージョンも引きずられて古いバージョンのまま。
手動で「Update Embedded」を実行したり、 C:\Users\<USERNAME>\AppData\Local\Atlassian\SourceTree\git_local
を削除して強制的に再度ダウンロードするように仕向けたりしましたが効果なし。 Sourcetree 本体が古いままなのでそれはそうか。
作業時は時間がなかったのでひとまずの対処法として、使用する Git を「System」に切り替えました(こちらは最新の Git for Windows を入れていたため)。
後日 Sourcetree のアップデートをしましたが……。
結局 Sourcetree 内臓の Git よりも Systemの方が新しくできるので切り替えました。