我有两个 github 账户,旧的和新的。当我在新的账户上检出一个代码库时,无法提交,因为它提示我的旧 github 用户未经授权。
假设我的旧 github 帐户用户名是 old,电子邮件是 old@old.com。 假设我的新 github 帐户用户名是 new,电子邮件是 new@new.com
旧的 github 帐户没有关联 SSH 密钥。 新帐户有我的 SSH 密钥。由于我使用的是 Windows 系统,在 putty/pagent 使用 ppk 格式,但 gitbash 使用的是 RSA,所以 SSH 密钥有点麻烦。不久前,我成功地将我的 ppk 转换为 RSA,并将其放入了我的 Windows 用户 .ssh 目录中。
我已经完成了以下步骤:
$ git config --global user.name new
$ git config --global user.email new@new.com
如果我这样做:
$ git config --global -l
或$ git config -l
我明白了:
user.email=new@new.com
user.name=new
当我尝试执行$git push origin
时
remote: Permission to new/test.git denied to old.
fatal: unable to access 'https://github.com/new/test.git/':
403 user old not authorised
如果我使用gitbash、tortoise或VS code进行推送,就会出现这个错误。
如果我删除克隆的仓库,从头再次克隆,然后提交任何内容,问题仍然存在。
$ git clone git@github.com:new/test.git
有没有想法为什么以及从哪里获取旧用户?在我的电脑上没有任何关于旧GitHub用户的参考,它阻止我无法完成任何工作。
似乎没有办法从GitHub中删除旧用户,但即使我可以,也可能仍然无法解决问题。几个月来,我一直无法工作,因为我无法提交任何东西到 GitHub。
我尝试的另一件事是在克隆存储库后编辑 .git/config 文件。我尝试将 https 更改为 ssh url,因为多年来使用 GitHub 时 https 从未对我起作用。https 允许您进行克隆,但永远无法推送。如果我使用正确的 vodoo 使用 ssh 进行检出,它曾经有效,但现在总是因没有明显原因而获取旧用户。
user.name
和user.email
配置值在Github或其他地方进行身份验证时没有任何作用。它们仅在创建或修改提交时在本地使用。 - axiac