我试图用现有的文件设置一个repo,所以我按照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运行约塞米蒂国家公园。
4条答案
按热度按时间yv5phkfx1#
这与您的配置设置无关。
这与你推送的deploy密钥被附加到另一个仓库有关,如果你和来自同一个本地环境的两个不同(或更多)的github用户一起工作,就会发生这种情况。
要查看您的本地系统以及您拥有哪些部署密钥,您可以运行:
ls -al ~/.ssh
在您的终端中。这将显示您现有密钥的列表。
它看起来像这样:
-rw------- 1 bruger staff 3326 Jul 21 2020 abc@oldemail.com
如果您遵循Githubs own tutorial on setting up a deploy key,您将很快获得正确的设置,可以毫无问题地连接到您的存储库。
更新
我已经读了一段时间了,我发现this post说它与您的本地环境有关。
例如,如果您使用的是Mac,则可以在"钥匙串访问"中删除凭据(搜索"github"),然后重试。
您的计算机保存最后一个推送凭据。您还可以使用
git config.credential.helper
查看更多信息jgwigjjp2#
看起来您正在尝试使用GitHub无法识别/关联到您帐户的电子邮件进行连接。
您可以:
A)使用git config,https://help.github.com/articles/setting-your-email-in-git/将电子邮件地址更改为与github帐户关联的电子邮件地址。
B)在此处添加从'git config www.example.com'返回的电子邮件地址:https://github.com/settings/emailsuser.email' here: https://github.com/settings/emails
还要确保您对要推送到的存储库具有写访问权限
blmhpbnm3#
Github现在有了协作者设置。它解决了我所有的问题。只要后藤设置〉协作者,然后添加abc@oldemail.com。
yjghlzjz4#
是的,我认为彼得·帕卢斯的答案是正确的。
当我临时杀死ssh代理时:
eval $(ssh-agent -k)
(我可以稍后重新运行它:eval $(ssh-agent)
),那么我可以看到在下一次push
尝试时,我应该输入密码的ssh密钥不是正确的,不是上传到github/gitlab上的密钥。所以我需要强制正确的一个。我可以编辑
~/.ssh/config
并创建一些主机,如:现在我需要在我的
git config
中使用这个主机。我可以在git config --local -e
中修复url
项目,我会更改:到
然后在github/gitlab上转到
Settings
(用户级;但是也可以在仓库级别为每个仓库设置),SSH keys
,并确保您在那里有SSH密钥。如果没有,使用cat ~/.ssh/id_ed25519_github_some_account.pub
,将结果复制到剪贴板,并将其作为New SSH key
粘贴到github/gitlab。然后重试
git push
。