Windows 環境下にて git clone すると重くて止まる現象の対応

環境

  • Windows 10 Home エディション
  • Git v2
  • GitHub

ssh 経由の clone が重い

リポジトリのサイズが大きいのか、
重すぎて ssh 経由のクローンができなかった。

$ git clone git@github.com:psychedelicnekopunch/sample.git .
fetch-pack unexpected disconnect while reading sideband packet

https 経由だとうまくいく

$ git clone https://github.com/psychedelicnekopunch/sample.git .

その他よく見かけた解決方法

リポジトリの一部だけクローンする

1の部分は調整する。(10とか100とか)
何回か分けてクローンして、
最後に fetch --unshallow で全てフェッチする。

$ git clone --depth 1 git@github.com:psychedelicnekopunch/sample.git .
$ git fetch --unshallow

Git Large File Storage を使う

サイズが大きくなりやすい画像ファイルなどは、
Git LFS で管理するという方法があるらしい。

http.postBuffer

バッファサイズを変更する。
デフォルトで1024(1MB)とのこと。

非推奨。
無駄にバッファサイズを大きくすることは良くない。

# 100MB に設定
git config --global http.postBuffer 1048576

おまけ

リポジトリ内を掃除する

既にリポジトリが存在していて、
逆にプッシュできなくなった時。

Gitリポジトリの不要なオブジェクトを削除し、
リポジトリを最適化するコマンドらしい。

$ git gc --prune=now