我试图用现有文件设置一个 repo 协议(protocol)。所以我按照 source 中的简单说明进行操作但是在我尝试推送的最后一步,出现了这个错误;
remote: Permission to abc/abc.git denied to abc@oldemail.com.
fatal: unable to access 'https://github.com/abc/abc.git/': The requested URL returned error: 403
于是我通过输出命令查看了当前用户;
git config user.email
这会产生与上述错误不同的电子邮件。此外,尝试通过以下命令成功验证到 github。
ssh -T git@github.com
我只有一个ssh-key,ssh-agent也定义了。
关于如何进一步调试有什么建议吗?为什么它使用旧电子邮件而不是当前电子邮件?
谢谢!
附言我在运行优胜美地的 Mac 上。
最佳答案
这与您的配置设置无关。
这与您推送的部署 key 附加到另一个存储库有关。如果您与来自同一本地环境的两个不同(或更多)github 用户一起工作,就会发生这种情况。
要查看您的本地系统以及您拥有哪些部署 key ,您可以在终端中运行:ls -al ~/.ssh
。
这将显示您现有 key 的列表。
我敢打赌,您已将其中一个 key 命名为您的电子邮件。
所以它看起来像这样:
-rw-------- 1 bruger 员工 3326 2020 年 7 月 21 日 abc@oldemail.com
如果你关注Githubs own tutorial on setting up a deploy key您很快就会拥有正确的设置,可以毫无问题地连接到您的存储库。
更新
我已经读了一段时间了,我找到了 this post这说明这与您本地的环境有关。
例如,如果您使用的是 Mac,则可以在钥匙串(keychain)访问(搜索“github”)中删除您的凭据,然后重试。
您的计算机保存上次推送凭证。您还可以使用 git config.credential.helper
关于git 权限被拒绝,但针对不同的用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31558466/