搜索

首页  >  问答  >  正文

windows下的Git客户端无法clone,Linux下的却可以。

小弟由于跨平台开发需求,需要在不同平台调试代码。最近自己用RedHat6.4内置的git搭建了私有git服务器,通过ssh key提交代码。

服务器搭建好后,使用git clone git@192.168.2.20:data/test.git进行第一次同步。Linux客户端一次成功,Windows却报错:

fatal:Could not read from remote repository.
Please make sure you have the correct access rights and the repository exists.

Linux客户端是Redhat6.4预装的,Windows客户端用的gitExtensions。
小弟不知道问题出在哪里?

使用ssh git@192.168.2.20可以直接免密码登陆的,所以排除ssh的问题。照理说Windows下的git也是Git bash,命令都一样,为什么windows不能用。

补充一下:windows 版本win7.
刚刚在Windows的Git bash里用git remote -v查看了一下远程库,是正确的显示:

origin git@192.168.2.20:data/test.git (fetch)
origin git@192.168.2.20:data/test.git (push)

那么现在问题是否仅仅是:连接/添加远程库成功,但是不能clone,目录/文件权限问题?

我想大声告诉你我想大声告诉你2775 天前680

全部回复(3)我来回复

  • 仅有的幸福

    仅有的幸福2017-04-28 09:07:03

    谢谢大家的回答。我已经找到root cause.
    解决思路:既然Linux可以,Windows不行,那么就查找这两个系统的git客户端的差异。
    经过排查,最终了解到Windows git客户端的ssh客户端默认使用的是putty,于是手动改成与Linux客户端一致的OpenSSH。问题解决。

    回复
    0
  • 过去多啦不再A梦

    过去多啦不再A梦2017-04-28 09:07:03

    使用git remote -v只是显示了当前git repository中配置的remote服务器信息,并不能说明在windows的git bash中可以访问远端代码库。

    你说在Linux下可以访问代码库,是在你的Redhat6.4中访问的吧?所以我大胆的猜测:

    1. 你的Redhat6.4中的登录账号具有该代码库的访问权限
    2. 从你的Win7里没有对代码库的访问权限

    所以,建议你:

    1. 检查Readhat6.4服务器,是否为git分配了有效的账号(一般就是git用户的账号密码)
    2. 是否为服务器端的git账号分配了充分的权限

    这样应该可以解决问题吧

    回复
    0
  • 天蓬老师

    天蓬老师2017-04-28 09:07:03

    既然是ssh,那么问题来了,你的服务器配置ssh没有,你的客户端生成了ssh-key没有,公钥保存到服务器没有?还有IP是否可以访问?
    把这些问题一一检查一遍。

    回复
    0
  • 取消回复