在应用程序的开发过程中,舍友 clone 我的代码遇到的这样的报错:
remote: Enumerating objects: 505, done
error: RPC failed;
curl 92 HTTP/2 stream 5 was not closed cleanly: CANCEL (err 8)
error: 56933 bytes of body are still expected
fetch-pack: unexpected disconnect while reading sideband packet
fatal: early EOF
fatal: fetch-pack: invalid index-pack output
我尝试 clone 后,在文件即将 clone 完成时,也报出了同样的错误。
上网查了一下,发现是因为目录中曾经放过视频文件(40MB左右),然后经过多次 commit 导致 .git 文件越来越大,最后因为 .git 文件太大而 clone 失败。
解决办法:
方案一
-
找出 git 提交历史中较大的文件
git verify-pack -v .git/objects/pack/pack-*.idx | sort -k 3 -g | tail -10
结果示例: