SourcetreeでBitbucketにアプリパスワードでログインしたのにブランチが操作できない場合に試すこと

2022年5月29日

概要

私は個人開発ではGitクライアントのSourcetree(Windows版)と Bitbucket を使用しています。
そして先日、Bitbucket の仕様が変わりHTTPS接続だとログインに失敗する様になりました。

下記は gitリポジトリのfetchを試した際のエラーメッセージです。

▼エラーメッセージ

remote: Bitbucket Cloud recently stopped supporting account passwords for Git authentication.
remote: See our community post for more details: https://atlassian.community/t5/x/x/ba-p/1948231
remote: App passwords are recommended for most use cases and can be created in your Personal settings:
remote: https://bitbucket.org/account/settings/app-passwords/

メッセージの中には公式のコミュニティ投稿のURLが含まれています。
Announcement: Bitbucket Cloud account password usage for Git over HTTPS and API ending March 1, 2022

今後、HTTP接続する場合はユーザーが任意に設定したパスワードではなく、アプリパスワードというBitbucket上で自動生成したパスワードを使用する仕組みを使わなければいけない様です。
※このパスワードは生成結果の画面を閉じると二度と確認できないので、どこかに書き残す必要があります。

また、SSH認証はいままで通り変わらないので、そちらに切り替える方法もあります。

ですが、私の場合はHTTP接続のままにしたかったので、色々調べてアプリパスワードを使用する様に設定してみました。

※アプリパスワードの設定はこちらがわかりやすいです!
【Bitbucket】clone,pull,pushができない【アプリパスワード】

ところが、アプリパスワードによる認証は成功しているはずなのに、いざブランチを操作しようとすると相変わらず同じエラーが表示されてしまいました。

解決策

以下のリンク先の投稿を読んだところ、どうやらパスワードのキャッシュデータがローカルに残っていて古いパスワードでログインしようとする症状がある様です。

Bug Fix: Sourcetree for Windows authentication error when updating to app password

1.まず、この投稿に従いSourcetreeのオプション画面からアカウント情報を削除してみましたがダメでした。

※私はやっていませんが、リンク先にはアカウント削除前にバックアップする方法も記載されています。
※別のPCではアカウントを削除せずとも下記の作業で解決しました。

2.次に以下の場所に置かれている “passwd” ファイルを削除してみたところブランチを操作できる様になりました。

C:\Users\<UserName>\AppData\Local\Atlassian\Sourcetree

ということで、もし同じ様な症状に遭われた方は試してみてください。

参考リンク

BitbucketへのHTTP接続(アプリパスワードへの移行)

BitbucketへのSSH接続