git 下载报错:fetch-pack: unexpected disconnect while reading sideband packet
在克隆大仓库或者拉取代码的时候容易出现类似如下错误:
fetch-pack: unexpected disconnect while reading sideband packet
fatal: early EOF
fatal: fetch-pack: invalid index-pack output
主要是由于 仓库 内容比较大,或者仓库中有比较大的文件,由于 http 协议 或者 传输数据大小限制导致的,可以通过设置如下参数解决:
git config --global http.postBuffer 524288000
git config --global http.version HTTP/1.1
如果网络环境不太好,可以通过增加下面的参数,降低失败率:
git config --global http.lowSpeedLimit 0
git config --global http.lowSpeedTime 999999
上面的方法不能解决的时候就可以采用以下方法进行克隆,即部分克隆,
git clone --no-checkout <仓库URL> [目标目录]
cd [目标目录]
git sparse-checkout init --cone
git sparse-checkout set <目录1> <目录2> # 指定需检出的目录
如果需要进一步操作稀疏检出规则(如新增目录或禁用功能),可以参考以下命令:
- 新增目录:
git sparse-checkout add <目录>
(避免覆盖原有规则) - 禁用稀疏检出:
git sparse-checkout disable
(恢复完整检出) - 重新应用规则:
git sparse-checkout reapply
(手动修改配置文件后生效)
注意:稀疏检出的规则保存在 .git/info/sparse-checkout
文件中,也可直接编辑该文件45。