您好我已成功使用SSH设置Git / Github。我知道这是因为我通过Github help guide检查了这一点,所有结果都通过了。
我可以使用以下命令推送到我的Github仓库以获取标签示例:
git push origin <tagname>
但是,当我尝试做同样的事情但是通过url指定远程时,它无法告诉我repo不存在:
git push git@github.com:<organisationname>/<reporname>.git <tagname>
我收到以下错误:
错误:未找到存储库。致命:无法从远程读取 库中。
请确保您拥有正确的访问权限和存储库 存在。
documentation for git push确实支持这两种语法,因此我很难理解为什么网址版本失败以及&#34;来源&#34;版本没有?
答案 0 :(得分:0)
我发现了这个问题,实际上它很简单。为发布插件配置的用户与为访问repos而配置的用户不同。在我的问题中,我有一个例子,包括&#34; git&#34;作为用户,实际上并不代表maven插件使用的URL,它使用的是其他用户。
为清楚起见,如果ssh访问基于&#34; user1&#34;和maven发布插件配置为与&#34; user2&#34;然后,当我得到失败的推动时。
为了以用户模糊的方式处理这个问题,git docs建议总是推动使用&#34; git&#34;用户。
例如,即使使用&#34; user1&#34;的ssh密钥设置,在我的设置中,以下推送仍然成功:
git push git@github.com:<organisationname>/<reporname>.git <tagname>
但以下不是:
git push user2@github.com:<organisationname>/<reporname>.git <tagname>
现在我知道原因,它非常明显,并且感到愚蠢,我最初错过了我的配置。这也解释了为什么原始问题如果在任何具有正确ssh键的repo设置上运行都可以正常工作,如评论所示。