我已经用Google搜索了,发现了很多解决方案,但是没有一个适合我。
我正在尝试通过连接到LAN网络中的远程服务器从一台计算机克隆。
从另一台计算机运行此命令会导致错误。
但是在服务器上使用git://192.168.8.5 ...运行SAME clone命令是可以成功的。
有任何想法吗 ?
user@USER ~
$ git clone -v git://192.168.8.5/butterfly025.git
Cloning into 'butterfly025'...
remote: Counting objects: 4846, done.
remote: Compressing objects: 100% (3256/3256), done.
fatal: read error: Invalid argument, 255.05 MiB | 1.35 MiB/s
fatal: early EOF
fatal: index-pack failed
我已经添加了此配置,.gitconfig
但也没有帮助。
使用git版本1.8.5.2.msysgit.0
[core]
compression = -1
首先,关闭压缩:
git config --global core.compression 0
接下来,让我们进行部分克隆以截断下降的信息量:
git clone --depth 1 <repo_URI>
在这种情况下,进入新目录并检索克隆的其余部分:
git fetch --unshallow
或者,
git fetch --depth=2147483647
现在,进行常规拉动:
git pull --all
我认为1.8.x版本中的msysgit出现了故障,加剧了这些症状,因此另一种选择是尝试使用早期版本的git(我认为<= 1.8.3)。
谢谢,这很好。我曾尝试更改不起作用的http.postbuffer,但按照此答案所述进行操作后,效果很好。我没有使用“ git fetch --depth = 2147483647”这一行,但我使用了其余的。
@ EthenA.Wilson之后,您需要传递存储库的远程URL。例如
git clone --depth 1 git@host:user/my_project.git
。@Jose A.-当我使用较新版本的msysgit时遇到此问题。如果您使用的是msysgit,请尝试使用旧版本(<= 1.8.3)。否则,请尝试git fetch --depth 1000(然后是2000,依此类推,以递增方式递增,直到拉出所有文件为止)。
@Jose A.-另外,看看这个:stackoverflow.com/questions/4826639/…
嗨亲爱的朋友。感谢您的出色解决方案。但是最后一个
git pull --all
不起作用。因为git clone --depth 1
将设置取范围仅一个分支。因此,我们必须首先编辑.git / config。