2016-09-18 90 views
0

當我嘗試從命令窗口中拖拉時,我收到下面的錯誤。不能從cmd窗口拉混淆,但可以在git bash上

警告:永久性地將IP地址爲 '[10.10.46.213]:2222'的RSA主機密鑰添加到已知主機列表中。權限被拒絕 (publickey)。致命:無法從遠程存儲庫讀取。

請確保您擁有正確的訪問權限,並且存在知識庫 。

但是,在git bash窗口中,我可以做一個git pull。

有誰知道爲什麼?

回答

1

似乎它在cmd和bash下配置不同,出於某種原因。至少在關鍵存儲的部分。

首先,在cmd和bash中檢查環境PATH,檢查git二進制文件的路徑在兩者中是否真的相同。如果不一樣,可能是因爲兩個不同的配置在兩個地方安裝了兩個獨立的git包。在這種情況下,刪除一個並粘在兩個shell中的另一個上,或者將它們配置爲使用相同的選項/ sshtools /路徑。

如果你在這兩個shell中使用了一個單一的git客戶端,它仍然可以使用不同的配置。通常,git使用你的'主目錄'來存儲密鑰(即文件夾%HOME%.ssh)。檢查在cmd中,%HOME%是否指向與git bash中的$ HOME相同的目錄。甚至可能是你在cmd中根本沒有%HOME%。在這個問題上還有一點點Git SSH client for windows and wrong path for .ssh/config file

+1

你好,謝謝你的回答。 這是我做的修復它: CMD,echo%HOME%,什麼也沒有發生。 在Git bash中,echo $ HOME,C /出現 我通過添加一個名爲HOME的環境變量進行了修復,%USERPROFILE% 我將%HOME%添加到了PATH環境變量,並且解決了這個問題。 – johnwick0831

+0

@ user3814557:太好了,一切都好!實際上,PATH中的HOME應該不是壞事。如果您有時間進行測試,請嘗試從PATH中刪除它。一切都應該仍然有效。 PATH通常用於查找二進制文件,因此如果您在HOME位置沒有安裝任何東西,則不需要PATH。 – quetzalcoatl