SourceTreeにてgit clone時にエラーがでた時の対応(長いパス名 or バッファサイズが原因)

git
スポンサーリンク

こんにちは。カルークです。

今回は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つです。

  • 長いパスを有効にする
  • バッファサイズを上げる

タイトルとURLをコピーしました