我在谷歌上搜索过,找到了很多解决方案,但没有一个适合我。

我试图通过连接到LAN网络中的远程服务器从一台机器克隆。 在另一台机器上运行此命令会导致错误。 但是使用git运行相同的克隆命令://192.168.8.5…在服务器上,这是正常的并且成功的。

有什么想法吗?

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.5.2 .msysgit.0

[core]
    compression = -1

当前回答

git-daemon问题似乎在v2.17.0中得到了解决(使用无法工作的v2.16.2.1进行了验证)。 例如,在控制台中选择文本以“锁定输出缓冲区”的变通方法应该不再需要。

从https://github.com/git/git/blob/v2.17.0/Documentation/RelNotes/2.17.0.txt:

对“git守护进程”的各种修复。 (稍后合并ed15e58efe jk/daemon-fixes进行维护)。

其他回答

我尝试了这里提出的所有建议,但没有一个奏效。对我们来说,这个问题是不稳定的,而且随着回购的规模越来越大(在Jenkins Windows构建奴隶上),情况变得越来越糟。

它最终成为git使用的ssh版本。Git被配置为使用某个版本的Open SSH,在用户的.gitconfig文件中通过内核指定。sshCommand变量。把那条线拆了,它就固定了。我相信这是因为Windows现在提供了一个更可靠/兼容的SSH版本,默认使用。

当git内存不足时,我得到了这个错误。

释放一些内存(在本例中:让编译作业完成)并再次尝试对我来说是可行的。

我在macOS大苏尔M1芯片上遇到了这个问题,没有一个解决方案对我有效。

编辑:作为M2芯片的解决方案,以及。

我通过增加下面的ulimit来解决它。

ulimit -f 2097152
ulimit -c 2097152
ulimit -n 2097152

运行上面的命令只对当前终端会话有效,所以首先运行这个命令,然后克隆存储库。

在此期间,我关闭了所有正在进行的下载,这可能释放了一些空间,并清除了带宽

我尝试了所有这些命令,没有一个对我有用,但有用的是将git_url更改为http而不是ssh

如果是克隆命令做:

git clone <your_http_or_https_repo_url> 

否则,如果你拉现有的回购,做它

git remote set-url origin <your_http_or_https_repo_url>

希望这能帮助到一些人!