如何解决 Git 中的“远程端意外挂断”错误

如何解决 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 提交历史的。这不是我需要的。

有人能帮我解释一下这个问题吗?

答案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 .

如果你可以克隆远程存储库,那么你就知道你有读取权限

相关内容