こんにちは。カルークです。
今回はSourceTreeを使ってgit cloneした時にエラーがでたので、その時の対応を備忘録として残します。
環境
OS: Windows 11 (Business)
Source Tree Ver: 3.4.18
エラー 1: 内容
SourceTreeでgit cloneする時に以下のようなエラーがでました。
fatal: unable to checkout working tree
warning: Clone succeeded, but checkout failed
「cloneはできたけど、チェックアウトに失敗しました」的な感じです。
確かに、clone先のフォルダ(中身は空っぽに見える)を右クリック、プロパティでサイズ確認すると、数MBありました。
ググった所、Windowsの場合、長いパス名になると失敗することがあるようでした。
対応 1: Windowsで長いパスを有効にする
Windowsだと、長いパス名の場合はエラーになることがあるようです。そのため、以下の設定を行いました。
レジストリの設定
- レジストリエディタを開きます(
Win + R
を押して「regedit」と入力し、Enterキーを押します)。 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem
に移動します。LongPathsEnabled
キーを見つけて、その値を1
に設定します。
グループポリシーの設定
- グループポリシーエディタを開きます(
Win + R
を押して「gpedit.msc」と入力し、Enterキーを押します)。 ローカルコンピュータポリシー > コンピュータの構成 > 管理用テンプレート > システム > ファイルシステム
に移動します。Win32 長いパスの使用を有効にする
オプションを有効にします。
エラー 2: 内容
今度は別のエラーが出てきてしまいました。
error: 4182 bytes of body are still expected
恐らく、DLしているファイルのサイズが大きすぎてエラーになっているようです。
対応2: バッファーサイズを上げる
git bashを起動し、以下のコマンドでバッファサイズを上げました。(数値はご自身の環境に合わせて設定して下さい)
git config --global http.postBuffer 1048576000
その後、念の為、SourceTreeを再起動して再チャレンジしたら、無事cloneができました。
まとめ
SourceTreeのClone時に遭遇したエラーの対処法についてまとめました。
今回行ったエラー対処方は以下2つです。
- 長いパスを有効にする
- バッファサイズを上げる