Windows的Git:致命的:早期EOF [英] Git for windows: fatal: early EOF
问题描述
昨天我安装了一个新的Git Windows Server 2.6.4,可以与Mac git客户端(git协议)正常工作
Yesterday I installed a new Git windows server 2.6.4 that was working fine with a Mac git client (git protocol)
今天,我在努力使第二个客户端(Windows 7)正常工作.在尝试使其正常运行的过程中,我已将Windows服务器和客户端都升级到了最新发布的git 2.7.0
Today I am struggling to get a 2nd client (Windows 7) to work. In the process of trying to make it work I have upgraded both the Windows server and client to the recently released git 2.7.0
我尝试禁用压缩...我尝试了无线和有线网络(Windows客户端和服务器位于同一张桌子上).我在客户端上禁用了AV.我尝试按照建议的此处进行调整>
I have tried disabling compression...I have tried both wireless and wired networks (the Windows client and server are sitting on the same desk). I have disabled AV on the client. I have tried tweaking the memory settings as suggested here
这是客户端输出:
bash> git clone git://server.fqdn/repo.git
Cloning into 'repo'...
remote: 08:56:10.972997 git.c:348 trace: built-in: git 'pack-objects' '--revs' '--thin' '--stdout' '--progress' '--delta-base-offset'
remote: Counting objects: 76, done.
remote: Compressing objects: 100% (38/38), done.
Receiving objects: 100% (76/76), 8.31 KiB | 0 bytes/s, done.
fatal: read error: Invalid argument
fatal: early EOF
fatal: index-pack failed
bash>
这是服务器输出:
bash> ./gitd.bat
D:\tools\gitd>set GIT_TRACE=1
D:\tools\gitd>D:\tools\Git\bin\git.exe daemon --reuseaddr --verbose --base-path=D:\git --export-all --enable=receive-pack
08:59:49.023778 git.c:561 trace: exec: 'git-daemon' '--reuseaddr' '--verbose' '--base-path=D:\git' '--export-all' '--enable=receive-pack'
08:59:49.023778 run-command.c:343 trace: run_command: 'git-daemon' '--reuseaddr' '--verbose' '--base-path=D:\git' '--export-all' '--enable=receive-pack'
[7376] Ready to rumble
09:00:03.056268 run-command.c:343 trace: run_command: 'D:\tools\Git\mingw64\libexec\git-core\git-daemon.exe' '--serve' '--reuseaddr' '--verbose' '--base-path=D:\git' '--export-all' '--enable=receive-pack'
[6492] Connection from 10...:54729
[6492] Extended attributes (27 bytes) exist
[6492] Request upload-pack for '/repo.git'
09:00:03.087469 run-command.c:343 trace: run_command: 'upload-pack' '--strict' '--timeout=0' '.'
[6492] 09:00:03.134269 git.c:561 trace: exec: 'git-upload-pack' '--strict' '--timeout=0' '.'
[6492] 09:00:03.134269 run-command.c:343 trace: run_command: 'git-upload-pack' '--strict' '--timeout=0' '.'
[6492] 09:00:03.617872 run-command.c:343 trace: run_command: 'pack-objects' '--revs' '--thin' '--stdout' '--progress' '--delta-base-offset'
我还能尝试什么?
推荐答案
已知只有在选择了某些文本的情况下,Git守护程序才能在Windows 上运行
在git daemon的控制台窗口中(例如,请参见
git clone失败,并显示"index-pack";失败?).
此文本选择会延迟守护程序的输出,从而以某种方式有所帮助(!).作为
清除文本选择后(使用Escape键),立即克隆/获取
大多数时候都失败了.再次选择文本,然后恢复克隆/获取
去工作.可以使用git在Windows 10上轻松重现该问题
2.11.0.windows.1
通过以下方式在本地克隆
git clone git://127.0.0.1/my-repo
.
Git daemon is known to work on Windows only when some text is selected
in git daemon's console window (e.g., see
git clone fails with "index-pack" failed?).
This text selection delays daemon's output, which somehow helps (!). As
soon as text selection is cleared (with Escape key), cloning/fetching
fails most of the time. Select text again, and cloning/fetching resumes
to work. The problem can be easily reproduced on Windows 10 using git
2.11.0.windows.1
by cloning locally via
git clone git://127.0.0.1/my-repo
.
这篇关于Windows的Git:致命的:早期EOF的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!