一.使用 http 可能出现的问题和解决
1.问题描述
~$ git clone https://github.com/oKermorgant/ecn_baxter_vs.git
正克隆到 'ecn_baxter_vs'...
remote: Enumerating objects: 13, done.
remote: Counting objects: 100% (13/13), done.
remote: Compressing objects: 100% (10/10), done.
error: RPC failed; curl 56 GnuTLS recv error (-54): Error in the pull function.
fatal: The remote end hung up unexpectedly
fatal: 过早的文件结束符(EOF)
fatal: index-pack 失败
2.可能的原因和解决方案
1.缓存不够
按照下面操作增加缓存(命令行操作),若是不想使用命令行,也可以在用户家目录下的全局git配置文件.gitconfig
中,直接更改文件内的内容
$ git config --global http.postBuffer 524288000
$ git config --list
http.postbuffer=524288000
二.使用 git 可能出现的问题和解决
1.问题描述
使用git clone
克隆代码时出现以下报错,这个一般是由于代码仓库太大,而本地网络不是很稳定都可以造成以下问题
2.解决办法
方法1:
可以将这些行添加到全局git配置文件.gitconfig
中,这个文件在用户家目录下
# 在这之前可以执行 git config -l 命令看看已有配置项有哪些
[user]name = xxxxemail = xxxx@admin.compackedGitLimit = 512m packedGitWindowSize = 512m
[http]postBuffer = 1048576000lowSpeedLimit = 0lowSpeedTime = 999999
[core]compression = 0
[pack] deltaCacheSize = 2047m packSizeLimit = 2047m windowMemory = 2047m
解释:
- 配置git的最低速和最低速时间
git config --global http.lowSpeedLimit 0
git config --global http.lowSpeedTime 999999 单位 秒
- compression 是压缩的意思,取值为 [-1, 9],-1 以 zlib 为默认压缩库,0 表示不进行压缩,1~9 是压缩速度与最终获得文件大小的不同程度的权衡,数字越大,压缩越慢,最后得到的文件会越小。
方法2:
把上面的 compression = 0 改成 compression =-1
git config --global core.compression -1
compression 是压缩的意思,取值为 [-1, 9],-1 以 zlib 为默认压缩库,0 表示不进行压缩,1~9 是压缩速度与最终获得文件大小的不同程度的权衡,数字越大,压缩越慢,最后得到的文件会越小。
总而言之,以上的方法,不论是在命令行还是在在文件中直接修改,都改的是用户家目录下的
.gitconfig文件
大家也可以在网上再搜一搜其他的解决办法,我看了很多资料,大体上都是更改.gitconfig文件中的配置,大家针对不同的问题可以尝试不同的方法