skip to content
barorin&

SourceTreeのトラブル対処|起動しない・WSL2のリポジトリが開けない

/ 5 min read

Table of Contents

はじめに

SourceTreeで実際に遭遇したトラブルと、その対処をまとめました。

急に起動しなくなった

Windows版のSourceTreeが、ある日から起動しなくなることがあります。設定ファイルが壊れているのが原因なので、設定フォルダを削除すれば起動するようになります。

削除するのは次のフォルダです。

C:\Users\ユーザー名\AppData\Local\Atlassian\SourceTree.exe_Url_xxxxxxxxxxxxxx

末尾の文字列は環境ごとに異なります。

sourcetree-folder-path

WSL2上のリポジトリで git status error code 128 になる

Windows上のSourceTreeやVSCodeから、WSL2の中にあるリポジトリを開こうとすると発生するエラーです。

sourcetree-git-status-error-128

原因

gitの脆弱性対策に引っかかっています。

外部ストレージやネットワークドライブに置かれた .git フォルダを不用意に開くと、そこに仕込まれた設定によって任意のコマンドが実行される危険があります。gitはこれを防ぐため、所有者が異なるリポジトリを既定で拒否するようになりました。

WSL2上のファイルは、Windowsから見るとネットワークドライブ(\\wsl$\...)として扱われるため、この対策の対象になります。

解決方法

そのリポジトリが安全であることを、明示的に宣言します。

Terminal window
$ git config --global --add safe.directory "対象のファイルパス"

Windowsではパスをダブルクォーテーションで囲むのがポイントです。囲まないと、パスに含まれる記号がうまく解釈されません。

.gitconfig を直接編集することもできます。ファイルは C:\Users\ユーザー名\.gitconfig にあります。

[safe]
directory %(prefix)///wsl$/Ubuntu/home/ユーザー名/repository-name

%(prefix)// という書き方は、UNCパス(\\wsl$\...)を指定するためのgitの記法です。

おわりに

どちらも「設定ファイルの場所」を知っていれば数分で解決する問題です。特に safe.directory のエラーは、gitのバージョンを上げた直後に急に出るようになるため、原因が分かりにくいものだと思います。

この記事を書いた人

barorinのプロフィール画像

barorin公認会計士

会計とITの二足のわらじで働く公認会計士です。Pythonを中心に、会計・監査の実務で実際に使っているコードや、Ubuntu・Raspberry Piの設定メモを書いています。