2013-06-21 189 views
3

我试图拉动使用msysgit 1.8.1(与1.7.10和.11一起尝试,具有相同的结果),并总是得到一个错误,知道如何调试/解决:Git拉 - 致命:读取错误:无效的参数

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中的一个错误?

+0

你每次都得到'不在已知主机列表中吗?不应该将它添加到'.ssh/hosts'?你的'.ssh'文件夹是可写的吗? –

+0

@DavidSchwartz,适用于Windows的Git(OP错误地称为“msysgit”)不使用Cygwin,也不与“cygwin.dll”链接。 – kostix

回答

1

克隆/从ssh://myserver:12345/myproject拉动效果很好。

但是从记录在该回购的.gitmodules文件中的url中获取子模块“src/jgit/main”没有。

检查上述网址,看看是否另一个协议(例如https,而不是ssh)可能工作(同样,对于子模块的url,正如您刚才拉回的.gitmodules文件中指定的那样)。

1

我发现原因:子模块src/jgit/main有两个外部。 origin指向官方的jgit仓库,另一个指向我们的jgit仓库的克隆。删除origin并将另一个重命名为origin后,它可以正常工作。看起来我从官方的jgit仓库中遇到问题。

+0

+1。这证实了我自己的答案有关子模块url的问题。 – VonC

相关问题