[英]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”作为用户,它实际上并不代表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.