![如何解决 Git 中的“远程端意外挂断”错误](https://linux22.com/image/1277193/%E5%A6%82%E4%BD%95%E8%A7%A3%E5%86%B3%20Git%20%E4%B8%AD%E7%9A%84%E2%80%9C%E8%BF%9C%E7%A8%8B%E7%AB%AF%E6%84%8F%E5%A4%96%E6%8C%82%E6%96%AD%E2%80%9D%E9%94%99%E8%AF%AF.png)
我在 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 提交历史的。这不是我需要的。
有人能帮我解释一下这个问题吗?
答案1
用一个远程 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 .
如果你可以克隆远程存储库,那么你就知道你有读取权限