无法从Sourcetree中提取Git远程存储库

时间:2015-09-07 11:31:38

标签: git github ssh atlassian-sourcetree

我生成了ssh密钥并配置了我的git和SourceTree。我可以git pull并从Git-bash做其他操作。 注意:我在.bashrc中添加了以下内容以使其正常工作。

eval `ssh-agent`
ssh-add

然而,当我尝试git pull in SourceTree时,我明白了。

  

git -c diff.mnemonicprefix = false -c core.quotepath = false fetch origin   权限被拒绝(公钥,密码)。致命:无法读取   远程存储库。

     

请确保您拥有正确的访问权限和存储库   存在。

当我尝试从Putty(windows)创建ssh-key时,它会更进一步,但是等待以下消息!

  

git -c diff.mnemonicprefix = false -c core.quotepath = false fetch origin   服务器的主机密钥未缓存在注册表中。你没有   保证服务器是您认为的计算机。该   服务器的rsa2密钥指纹是:

     

ssh-rsa 2048 0f:ee:bb:1c:6c:b4:50:0e:54:d6:e9:55:9b:38:45:df如果你   信任这个主机,输入“y”将密钥添加到PuTTY的缓存并携带   在连接上。如果你想只进行一次连接,没有   将密钥添加到缓存中,输入“n”。如果你不相信这个主人,   按Return键放弃连接。

如果我在SourceTree中打开终端(这是git-bash),它会要求我输入密码。所以,我怀疑我的.bashrc不是SourceTree的来源。还是我错过了别的什么?

4 个答案:

答案 0 :(得分:83)

我遇到了同样的问题,我的解决方案是用我的服务器(GitLab)手动调用plink.exe:

"C:\Program Files (x86)\Atlassian\SourceTree\tools\putty\plink.exe" gitlab.com

当被问及时,请按y,你现在应该没事了!

答案 1 :(得分:58)

我将客户端配置从putty更改为 openssh 。做完了。撷取画面:

enter image description here

答案 2 :(得分:3)

我能够通过从SSH提供商的“Putty / Plink”SSH更改为“OpenSSH”来解决问题。

Menu Tools > Options then SSHClient, select OpenSSH

答案 3 :(得分:0)

最好的解决方案是使用Putty建立连接。

在主机名上,输入你的gitlab项目ssh地址。 然后,单击“打开”进行连接。

就是这样。 SourceTree毕竟信任gitlab.com。 您可以从以下链接查看解决方案。 https://answers.atlassian.com/questions/31659457/windows-7-64bits-sourcetree-openssh-putty-git-pull-not-working