我遇到了通过git访问gerrit上的外部存储库的问题。 当我尝试在克隆的存储库目录中 git fetch 时(克隆效果很好),我得到:
> git fetch
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
但是,当我直接使用存储库ssh地址和用户名时,我得到:
> git fetch ssh://username@ip:port/repo_name
remote: Counting objects: xxxx, done
remote: Finding sources: 100% (xxx/xxx)
etc...
所以直接 git fetch 似乎效果很好。 我尝试将不同的用户名设置为:
git config --global user.name "username"
但没有用 - 我仍然得到 Permission denied(publickey)。 再次 - git clone 工作正常。
任何想法如何解决?
答案 0 :(得分:0)
首先,检查用于获取的当前网址:
git remote show origin
然后,如果获取网址不匹配,请使用以下命令进行更改:
git remote set-url origin ssh://username@ip:port/repo_name
答案 1 :(得分:0)
Git配置中的user.name在Git fetch / clone命令中无关紧要,它只在Git提交中使用。
你是如何执行克隆的?
您是否使用过以下内容?
git clone ssh://username@ip:port/repo_name