Git拉取 - 致命错误:读取错误:无效参数。

3

我正在尝试使用msysgit 1.8.1(也尝试过1.7.10和.11),但总是遇到一个错误,我不知道如何调试/解决:

E:\java\myproject>git pull
Enter passphrase for key '/E/my-private-key':
remote: Counting objects: 200, done.
remote: Compressing objects: 100% (97/97), done.
rRemote: Total 115 (delta 66), reused 0 (delta 0)
Receiving objects: 100% (115/115), 12.25 KiB, done.
Resolving deltas: 100% (66/66), completed with 34 local objects.
From ssh://myserver:12345/myproject
   50e90d7..d24b154  release-4.5 -> origin/release-4.5
   58625d6..960fcc6  develop    -> origin/develop
 * [new branch]      release/4.6 -> origin/release/4.6
 * [new tag]         4.6-rc-1   -> 4.6-rc-1
Fetching submodule src/jgit/main
fatal: read error: Invalid argument

E:\java\myproject>

在……之间

Fetching submodule src/jgit/main

并且

fatal: read error: Invalid argument

大约需要5分钟(超时?)。

还有一件奇怪的事情,就是一行以rRemote开始——这是msysgit中的一个bug吗?


你也每次都收到“not in list of known hosts”吗?难道不应该将其添加到“.ssh/hosts”中吗?你的“.ssh”文件夹可写吗? - Klas Mellbourn
@DavidSchwartz,Git for Windows(OP错误称为“msysgit”)不使用Cygwin,也不链接cygwin.dll - kostix
2个回答

2
ssh://myserver:12345/myproject 克隆/拉取工作正常。
但是,从该存储库的 .gitmodules 文件中记录的 url,对于子模块 "src/jgit/main" 拉取不起作用。
检查该 url,并查看是否可以使用另一种协议(例如 https)(再次针对刚刚拉取的存储库的 .gitmodules 文件中指定的子模块的 url)。

1
我找到了原因:子模块 src/jgit/main 有两个外部引用。 origin 指向官方 jgit 存储库,另一个指向我们克隆的 jgit 存储库。删除 origin 并将另一个重命名为 origin 后,它就可以工作了。看起来我从官方 jgit 存储库拉取时出了问题。

+1。这证实了我对子模块URL问题的答案。 - VonC

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接