赞
踩
问题描述:同事使用的tortoisegit clone项目时报错如下:
git.exe clone --progress -v "git@git.linewin.cc:share/protocol.git" "E:\github\tortoise\protocol"
Cloning into 'E:\github\tortoise\protocol'...
fatal: Could not read from remote repository.
Please make sure you have the correct access rightsand the repository exists.
git did not exit cleanly (exit code 128) (14306 ms @ 2017-11-22 18:02:48)
问题解决:首先因为是网络无法连接,所以猜测是不是公私钥无法成功匹配,服务器拒绝连接的原因,重新生成密钥并添加,过程如下:
由于tortoisegit使用的是putty的.ppk格式的密钥,而gitlab必须使用rsa密钥,因此使用其自带的工具,在开始菜单里找到tortoisegit,选择他的puttygen工具来生成密钥
在弹出页面里点击generate,此时会开始生成密钥,这一步比较耗时间,
待生成成功之后:
图中圈出来的部分为公钥内容,点击下边圈出来的save键把私钥保存为.ppk格式,把公钥保存并在浏览器gitlab右上角点击头像,在个人设置的地方添加ssh密钥,此处不详细
贴图说明了。
然后在开始菜单目录下选择pageant,点击添加,把生成私钥添加进去:
密钥添加成功后,在开始tortoise目录里找到setting设置项点开:
选择git,设置用户名,密码,以及加载私钥。
如果key路径没办法选择,那就点击上方global,把私钥地址粘贴到key的位置然后保存
都配置好之后再次尝试,还是不行,报错内容没有改变。
不知道配置哪里有问题,干脆点开命令行git bash 尝试拉取代码,成功了,说明服务器配置是没有问题的,对比git bash 和tortoisegit 配置,发现一个使用的ssh client配置是
ssh.exe 一个是,tortoisegitplink.exe ,点开网络配置,修改如下:
此处,git也有可能在别的路径,看安装时的选择了,部分版本,ssh.exe在git/bin/ssh.exe ,自行选择即可,选择完之后发现,居然无法保存。。。,点击确定和应用都
都没反应,但是可以取消。
幸好同事提醒安装时有一步他选择的tortoiseplink而不是openssh,确认问题后,重装软件,然后进行上述配置,成功保存,再次拉代码,成功了。问题解决。
解决过程因为自己也没用过这个图形化都是命令行操作,所以耗费了很长时间,此处特地记录下来解决过程。
参考文档:http://blog.csdn.net/bendanbaichi1989/article/details/17916795
https://www.cnblogs.com/ChenRihe/p/Git_TortoiseGit_SSH.html
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。