BacklogのGitを使用しているのですが、ある日とつぜんSourcetreeで接続できなくなってしまいました。
環境(2018年7月19日現在)
- OS: Mac OS 10.11.6 (El Capitan)
- Sourcetree: Version 2.6.3 (134)
- Embedded Git 2.10.1
- 内蔵 git-lfs 2.0.2
- Bitbucket Media Adapter 1.0.6
- 内蔵 git-flow
- Embedded Mercurial 3.7.3.1
- ↑はSourcetreeメニューから「About Sourcetree」を見たときの情報
- HTTPS で Git に接続(Backlog使用)
エラー内容
git -c diff.mnemonicprefix=false -c core.quotepath=false -c credential.helper=sourcetree fetch origin
remote: Authorization required
fatal: Authentication failed for 'https://バックログのURL/www.git/'
remote: Authorization required
fatal: Authentication failed for 'https://バックログのURL/www.git/'
remote: Authorization required
fatal: Authentication failed for 'https://バックログのURL/www.git/'
remote: Authorization required
fatal: Authentication failed for 'https://バックログのURL/www.git/'
Completed with errors, see above
エラーを読み解いてみると、
Authorization → 認証、権限
required → 必須、必要
fatal → 重大な、致命的な
failed → 失敗、不成功
要するに「認証が必要だよ!」「でもバックログの認証エラーだよ!」て言われてる気がする。
ソースツリーもバックログも設定変更した記憶などないのですが、さてはて。
対策 1 : Sourcetreeのアップデート
Sourcetreeメニューの「アップデートを確認...」(アプデ前は英語表記だった気がするけど)より実施。
その結果、環境が以下のように変化する。
- Sourcetree: Version 2.6.3 (134) → 2.7.6 (177)
- Embedded Git 2.10.1 → 2.17.1
- 内蔵 git-lfs 2.0.2 → 2.4.2
- Bitbucket Media Adapter 1.0.6 → 変化なし
- 内蔵 git-flow → 変化なし
- Embedded Mercurial 3.7.3.1 → 4.6.1
Sourcetree再起動するも、エラー直らず。念のためPCも再起動するが、直らず。
対策 2 : Gitのバージョンアップ
自分の環境でこれが必要かは謎ですが、以下を参考にしました。
MacのHomeBrewでGitを2.7.0にアップデートしよう
なんならこの記事そのものは以下を参考に(略
SourceTreeで remote invalid username or password となってGithubと接続できない時の対策
過去にいろいろあって HomeBrew をインストールしていたので、
/usr/bin/git --version
でGitのバージョンを確認すると git version 2.10.1 (Apple Git-78)
でした。
brew update
でHomeBrewをアップデート。
brew upgrade git
でGitのバージョンアップ。git version 2.18.0
でした。
Sourcetreeメニューの「環境設定...」から「Git」 > 「システムのGitを使用する」 で最新のGitを探して選択。(自分の場合はなんか /usr/local/bin/git に入っちゃってたっぽい。)
↓
念のためSourcetree再起動するも、エラー な お ら ず。
やっぱりシステムのGitではなく内蔵Gitに戻してから、次の対策へ。
対策 3 : SourcetreeのBacklog連携見直し
過去に一度、バックログのパスワードを間違った内容でSourcetreeに入力してしまい、そのときは設定ファイル消してもSourcetreeアンインストール後の再インストールしてもどうやっても誤ったパスワードが記憶されて困ったので、アカウント周りは本当になるべく触りたくないのですが・・・そのときはテスト用の捨てバックログだったので全部諦めて、本番用バックログとの連携時ものすごく慎重にパスワード入力したら上手くいった苦い思い出があります。
というわけで震えながら、
Sourcetreeメニューの「環境設定...」 > 「高度な設定」 からバックログのホスト名・ユーザ名を削除。
その後Sourcetree再起動するといきなりバックログのユーザ名とパスワード求められたので、慎重に入力。
適当なリポジトリからプルしようとすると・・・直った!!!!!
結論
fatal: Authentication failed for 'https://バックログのURL/www.git/'
のエラーにはバックログのユーザ名・パスワードを再設定すること。
「バックログの周りが怪しいよ」ってエラー出てるんだし最初に見直せば良かったのですが、ユーザ名もパスワードもずっと変えてないのになぁという釈然としない気持ちも。
以前バックログ連携失敗したときの苦い思い出も腰を重くさせましたが、恐怖を感じる対象にこそ自分から近づいていくべきですね。
なんか無駄に遠回りはしたけど、勉強になったから良し。
(2018/7/23 追記)
似たようなエラーで別な対処法を行っている方のメモ
http://desilysis.seesaa.net/article/454257588.html