之前一直使用 Git 来做版本管理,着实没有遇到过 Early EOF 这个报错。最近项目的小兄弟拉取一个大型仓库时会一直遇到这个报错,只有偶然的机会能够成功, 很尴尬的是,这个错刚开始不报,快拉取完了报错了,导致还得重新拉取。
网上搜索一番,找到了常见的两个解决方案,在这里记录一下吧
增加缓冲区大小
git config --global http.postBuffer 104857600
将缓冲区设置为 100M
使用 ssh 方式拉取
这个方案貌似也就解答了我之前为什么一直没有遇见过这个 EOF ,因为我一直用的就是 ssh 模式。
一般像 码云、github、gitlab 这种仓库服务都会提供多种协议的 clone 地址,
https://github.com/hhh/ggg.git 这种的就是 https 协议的,不是私有库的无需任何设置便可以直接克隆
git@github.com:hhh/ggg.git 这种的就是 ssh 协议的,无论是不是私有库,都需要在网站账号的设置里添加自己的 ssh 公钥。
SSH 秘钥生成方式
在 gitbash 命令窗口内输入
ssh-keygen - t rsa -C "your email"
然后回车,不需要设置密码的话 直接一直回车即可,我一般就不设置密码,因为设置了 时间长了自己也记不住 T_T
命令结束后会有一行是 秘钥文件的存放位置,一般是 C:\Users\用户名.ssh\ 下面
成功生成文件是成对出现的,私钥没有后缀叫 id_rsa ,公钥则叫 id_rsa.pub
用文档编辑器打开 id_rsa.pub ,然后 ctrl+A 复制里面所有的文字,粘贴到仓库所在的网站你自己账号的设置里面的 SSHKey 里面新建一个秘钥保存
网友评论