windows下的Git客戶端無法clone,Linux下的卻可以。
我想大声告诉你
我想大声告诉你 2017-04-28 09:05:03
0
3
668

小弟由於跨平台開發需求,需要在不同平台調試程式碼。最近自己用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,目錄/文件權限問題?

我想大声告诉你
我想大声告诉你

全部回覆(3)
仅有的幸福

謝謝大家的回答。我已經找到root cause.
解決想法:既然Linux可以,Windows不行,那就找這兩個系統的git客戶端的差異。
經過排查,最後了解到Windows git客戶端的ssh客戶端預設使用的是putty,於是手動改成與Linux客戶端一致的OpenSSH。問題解決。

过去多啦不再A梦

使用git remote -v只是顯示了當前git repository中配置的remote伺服器訊息,並不能說明在windows的git bash中可以存取遠端程式碼庫。

你說在Linux下可以存取程式碼庫,是在你的Redhat6.4中存取的吧?所以我大膽的猜測:

  1. 你的Redhat6.4中的登入帳號具有該程式碼庫的存取權限
  2. 從你的Win7裡沒有對程式碼庫的存取權

所以,建議你:

  1. 檢查Readhat6.4伺服器,是否為git分配了有效的帳號(一般就是git用戶的帳號密碼)
  2. 是否為伺服器端的git帳號分配了充分的權限

這樣應該可以解決問題吧

Peter_Zhu

既然是ssh,那麼問題來了,你的伺服器設定ssh沒有,你的客戶端產生了ssh-key沒有,公鑰儲存到伺服器沒有?還有IP是否可以存取?
把這些問題一一檢查一遍。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!