我最近发布了一个有关Git Bash引用旧GitHub帐户用户名的问题。请在此处参考该帖子:原始帖子
现在我完全相信Windows可以某种方式存储我的ssh信息,并将其用于我的Git bash会话。每当我尝试推送到远程存储库时,都会不断声明
remote: Permission to MYUSERNAME/project.git denied to OLD-USER-NAME
我已经改变了一切。我搜索了每个目录,我可以找到我的旧用户名的任何引用,但找不到任何内容。我已经重复了至少3次SSH密钥生成过程,但是没有运气。为什么它会继续显示我的旧用户名?
所以我的问题是,Windows是否为ssh密钥提供了某种类型的缓存系统?即使我明确地加载了我的新密钥,它也一直在引用对我的旧用户名的引用。我唯一能想到的是我的ssh代理未使用我的新密钥,然后当它尝试连接到github时,它会看到旧密钥并将其与我的旧用户名关联。但同样,由于我从旧的GitHub帐户中删除了旧密钥,所以这没有任何意义...
我要杀了Git ..
我认为这里的关键是您可能正在使用HTTPS克隆新的存储库,而该存储库又根本不使用SSH密钥进行身份验证。
我怀疑您的凭据被凭据帮助程序缓存了。看到这个:
https://help.github.com/articles/caching-your-github-password-in-git/#platform-windows
在Windows上,如果您使用了wincred助手(git config --global credential.helper wincred
),则它将凭据存储在Windows凭据存储中,该存储具有控制面板界面,您可以在其中删除或编辑已存储的凭据。例如看这个:
通过此存储,您的详细信息受Windows登录名的保护,并且可以在多个会话中保留。这是在Windows 1.8.1.1的Git中添加的。
所以:
尝试使用以下方法清除https克隆的存储库的凭据缓存,然后重试:
git credential-osxkeychain擦除主机= github.com协议= https
或者,
然后,当再次提示您输入身份验证详细信息时,尝试再次推送到HTTPS克隆的存储库。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句