我最近将git升级到1.8.4.msysgit.0(在Windows 7上),因为我无法推送到我多年来一直使用的回购。 (注意:我也降级到1.7.0.2,我曾经使用了很长时间,但这也无济于事。)
我这是为了一个简单的git push
:
Using username "git-receive-pack 'git-myname".
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
这个奇怪的用户名是什么?
我也收到git clone
的类似消息(...git-upload-pack...
)。注意:我可以通过https克隆。
对于PuTTY的plink
:
C:\test>set GIT_SSH
GIT_SSH=C:\Program Files\PuTTY\plink.exe
C:\test>git remote -v
origin ssh://git-myname@free1.projectlocker.com:myrepo.git (fetch)
origin ssh://git-myname@free1.projectlocker.com:myrepo.git (push)
C:\test>"C:\Program Files\PuTTY\plink.exe" -v git-myname@free1.projectlocker.com -i mykey.ppk
Looking up host "free1.projectlocker.com"
...
Using SSH protocol version 2
...
Reading private key file ".\mykey.ppk"
Using username "git-myname".
Offered public key
...
Offer of public key accepted
...
Access granted
Opened channel for session
...
我可以使用相同的密钥从linux框中通过ssh推送到repo。我也可以使用OpenSSH(来自Windows)ssh到主机,但无法设置它以便git正确使用它。
为什么git会失败?
答案 0 :(得分:1)
经过一番努力和摆弄后,我发现git工作提供:(a)密钥加载到Pageant中,(b)ssh://前缀从远程URL中删除。
(b)与我开始摆弄之前的情况相同;但是,(a)从未被要求过。我可能会采取某种方式来避免这种情况,但我现在很高兴打扰它;)。