題 如何解決Git中“遠程端掛起意外”的錯誤


我在Windows和Ubuntu中設置了GIT。它們都在當地運作良好。現在我想把一些存儲庫從Windows放到Ubuntu。我想我可以在Windows中使用'git push',或者在Ubuntu中使用'git clone'。但都不起作用。

我用的時候

git push -v xxx.xxx.xxx.xxx:/share/source/repo.git

在開始時,我收到一個錯誤:

服務器的主機密鑰未緩存在註冊表中。您無法保證服務器是您認為的計算機。

在我使用putty保存主機密鑰後,錯誤消息消失了。然後我得到了一個

似乎不是一個git存儲庫

錯誤。在我修改了存儲庫的路徑後,錯誤消息也消失了。現在我得到:

致命:遠程端意外掛斷

我從消息中得不到足夠的信息。

所以我想檢查Windows和Ubuntu端的git日誌來檢查發生了什麼。但在谷歌搜索'git log'之後,所有條目都是關於git commit history的。那不是我需要的。

任何人都可以對此輕描淡寫嗎?


5
2018-05-25 09:16


起源


如果您發布了確切使用的命令,它也會有所幫助。您似乎只是遵循了錯誤的程序,但如果沒有其他信息,我們無法幫助您。 - slhck
是什麼 git remote 說? - Sathya♦
@slhck,我修改了我原來的帖子。我用'git push'。 @Sathya,'git remote'輸出什麼都沒有。謝謝。 - Landy
使用 git push -v 要獲得詳細輸出,請發布您正在使用的確切命令以及此命令的輸出。 - Stephen Jennings
@Stephen Jennings,即使我添加了-v選項,它仍然只報告'致命:遠程端預計會掛斷。謝謝。我的命令是'git push -v xxx.xxx.xxx.xxx:/share/source/repo.git' - Landy


答案:


用一個 遠程URL 形式 [address]:/path/to/repo.git 暗示您使用SSH進行連接。但是,您尚未提供用戶名。我不確定Git在這種情況下的表現如何,但它讓我覺得你可能沒有寫訪問權限。

也許嘗試使用以下表單的URL來指定用於連接到Ubuntu的用戶名:

[user]@[address]:/path/to/repo.git

也許嘗試從該存儲庫克隆,看看你是否有讀訪問權限。進入一個新的空文件夾並運行以下其中一個:

git clone [address]:/path/to/repo.git .
git clone [user]@[address]:/path/to/repo.git .

如果您可以克隆遠程存儲庫,那麼您知道您具有讀訪問權限


0
2018-05-26 06:09



謝謝。最後我發現遠程端的意外掛斷的根本原因。我使用puttygen.exe在windows中生成了ssh密鑰。看完這篇文章後 - andremolnar.com/...,我在ubuntu中使用ssh-keygen生成一個新的ssh密鑰。現在一切都很好。我不知道原因。它只是有效。再次感謝您的幫助。 - Landy