Cela arrive plus souvent qu'autrement, je suis sur une connexion Internet lente et je dois cloner un dépôt git décemment énorme. Le problème le plus courant est que la connexion se ferme et que le clone entier est annulé.
Cloning into 'large-repository'...
remote: Counting objects: 20248, done.
remote: Compressing objects: 100% (10204/10204), done.
error: RPC failed; curl 18 transfer closed with outstanding read data remaining
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed
Après beaucoup d'essais et d'erreurs et beaucoup de "fin distante raccrochée inopinément", j'ai un moyen qui fonctionne pour moi. L'idée est de faire un clone peu profond d'abord, puis de mettre à jour le dépôt avec son historique.
$ git clone http://github.com/large-repository --depth 1
$ cd large-repository
$ git fetch --unshallow