githubの履歴が重くなってくるとリポジトリのclone(クローン)で以下のようなエラーが起こることがあります。
そんな時によく同僚から聞かれるのでトラブルシューティング方法のメモです。
git -c filter.lfs.smudge= -c filter.lfs.required=false -c diff.mnemonicprefix=false -c core.quotepath=false --no-optional-locks clone --branch master [email protected]:TEST_REPOSITORY.git Cloning into '/TEST_REPOSITORY'... FATAL ERROR: Server unexpectedly closed network connection fatal: the remote end hung up unexpectedly fatal: early EOF fatal: index-pack failed
まずは以前アップした記事のshallow cloneをまず試してみるといいですが、

gitのクローンで履歴が重い時はshallow cloneを
gitを使い続けて運用していると履歴がどんどん溜まって重くなってきます。 そんな時にcloneするととても時間がかかることがあります。 過去の履歴情報はいらなくて最新版だけ取得でよければcloneが早くなるので便利です。 git ...
このシャロウクローンは以前はsource treeでもできていました。
ただ、sourcetree3系と最新の4系(for Mac)で確認しましたが、クローンの深さ指定がなくなっていました。実際にやってみてブランチ指定はできました。
MAC版だけ?

SourceTreeで重いリポジトリの最新のコミットだけcloneする - Qiita
はじめに重いリポジトリをそのままcloneしようとすると、時間がかかります。下手すると数時間かかったりして、回線が貧弱だとタイムアウトしてしまったりします。そうなると、最初からやり直し・・・とり…
昔のバージョンではたしかにこのようにクローンの深さ指定がありました。
sourcetreeは買収されて途中で大幅なアップデートがあったのでそのタイミングでいつの間にかなくなったのでしょうか?
issues等を漁ってみましたが謎でした。
https://jira.atlassian.com/browse/SRCTREE-2745
https://jira.atlassian.com/browse/SRCTREEWIN-2383
https://jira.atlassian.com/browse/BAM-7437
ご存知の方がいたら教えて下さい。
その他クローンできない時のトラブルシューティングとしては
httpのpostバッファを上げてみることや
git config --global http.postBuffer 524288000 git config --global http.postBuffer 1048576000
また、最近はリモートの会社も増えてきているので
そもそもネットワーク回線が貧弱ではないか、
もしくはVPN接続した状態でクローンしようとしていてVPN回線が細くて途中でハングアップしているなどの可能性も考えられると思います。
あとは、定期的にgit gcでリポジトリのメンテも大切ですね。
それでは。