回购目录中的git fetch' Permission denied'但与用户直接联系

时间:2017-03-16 10:58:15

标签: git gerrit

我遇到了通过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 工作正常。

任何想法如何解决?

2 个答案:

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