昨天我安装了一个新的Git Windows服务器2.6.4,它可以正常使用Mac git客户端(git协议)
今天我很难让第二个客户端(Windows 7)工作。在尝试使其工作的过程中,我已将Windows服务器和客户端升级到最近发布的git 2.7.0
我尝试过禁用压缩...我尝试过无线和有线网络(Windows客户端和服务器都坐在同一个桌面上)。我在客户端禁用了AV。我尝试按照建议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'
我还能尝试什么?
答案 0 :(得分:5)
只有在选择了某些文本时,才知道Git守护程序可以在Windows 上运行
在git守护程序的控制台窗口(例如,请参阅
git clone fails with "index-pack" failed?)。
此文本选择会延迟守护程序的输出,这会以某种方式帮助(!)。如
一旦文本选择被清除(使用Escape键),克隆/获取
大部分时间都失败了。再次选择文本,然后继续克隆/获取
上班。使用git可以在Windows 10上轻松复制该问题
2.11.0.windows.1
通过本地克隆
git clone git://127.0.0.1/my-repo
。
答案 1 :(得分:0)
我找到了另一种解决方案,例如仅启动**git-daemon.exe directly**
对于64位git:
"C:\Program Files\Git\mingw64\libexec\git-core\git-daemon.exe"
-> 与git.exe具有相同的参数。
然后就可以不使用选择文本。