git拉取代码的时候出现fatal: early EOFfatal: fetch-pack: invalid index-pack output

出现原因:git代码太大了 导致下载失败

解决方案:git clone --depth=1 要克隆的git地址 下载最近一次提交的代码 其他分支的内容都不下载 这样整体下载体量就变小了

git clone --depth 1 要clone的git地址
例如:git clone --depth 1 https://git.xxx.cn/xxx-ec/xxx/xxx-new.git

这样方式解决完的截图如下:直接下载成功了

此时 克隆下来的分支是dev 因为dev是最近一次提交的 更多的分支没被迁出 

 接下来执行git fetch --unshallow 或者 git pull --unshallow 转换存储库为完整存储库

 执行完成后 发现拉取下来了很多带tag的分支

如果不想拉取最近一次的分支 想拉取指定分支 拉取方式如下

git clone -b 分支名 --depth=1 仓库url

 这是拉取下来的分支号

注意:上面的2种拉取方式 你会发现 有些分支没拉取下来 包括执行git branch -a也查看不到其他分支 也没办法切换 原因是.git记录里没有其他分支的信息

解决方案:

找到代码中的.git文件 可能这个文件被隐藏了 在文件夹中设置一下

修改.git文件夹内config文件的[remote "origin"]节的内容

// 修改前
[remote "origin"]
    url = https://xxx.com/abc/xxx.git
    fetch = +refs/heads/master:refs/remotes/origin/master


// 修改后
[remote "origin"]
    url = https://xxx.com/abc/xxx.git
    fetch = +refs/heads/*:refs/remotes/origin/*

以上步骤也可以用命令代替

git config remote.origin.fetch "+refs/heads/*:refs/remotes/origin/*"

然后执行以下命令获取所有分支

git fetch -pv

放上我这边的操作截图如下

执行完git fetch -pv后终端截图如下

OK 这个问题完美解决了 这个解决方案是得到了同事的指引 刚开始自己绕了一堆弯路子 出现很多问题 感恩

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值