繁体   English   中英

Git push ssh失败,使用远程URL而不是原始名称--(错误:未找到存储库)

[英]Git push over ssh fails using remote url instead of origin name - (ERROR: Repository not found)

嗨,我已经用SSH成功​​设置了Git / Github。 我知道这一点是因为我仔细阅读了Github帮助指南,并检查了所有结果。

我可以使用以下命令作为示例来推送到我的Github存储库:

git push origin <tagname>

但是,当我尝试执行相同的操作但通过url指定远程服务器时,它无法告诉我该存储库不存在:

git push git@github.com:<organisationname>/<reporname>.git <tagname>

我收到以下错误:

错误:找不到存储库。 致命:无法从远程存储库读取。

请确保您具有正确的访问权限,并且存储库存在。

git push文档不支持这两种语法,因此我很困惑为什么URL版本失败而“ origin”版本却不支持?

我发现了这个问题,它实际上是一个简单的问题。 为发布插件配置的用户与为访问回购协议配置的用户不同。 在我的问题中,我有一个示例,其中包括“ git”作为用户,它实际上并不代表maven插件使用的URL,而是使用了另一个用户。

因此,为清楚起见,如果ssh访问基于“ user1”,并且maven版本插件配置为与“ user2”一起运行,那么这就是我收到失败的推送的时间。

为了以一种用户含糊的方式处理此问题,git文档建议始终使用“ git”用户进行推送。

例如,即使使用“ user1”的ssh密钥设置,在我的设置中,以下推送仍然成功:

git push git@github.com:<organisationname>/<reporname>.git <tagname>

但是以下不是:

git push user2@github.com:<organisationname>/<reporname>.git <tagname>

现在我知道了原因,它很明显,并且感到很愚蠢,因为我最初在我的配置中错过了它。 这也解释了为什么原始问题(如果在带有适当的ssh密钥的任何回购设置上运行)可以正常工作,如评论所建议的那样。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM