remote: Repository not found. fatal: repository 'xxxxxxx' not found

一、问题产生

前几天因为要写一些自己的东西,切换了android studio的github账号,修改和上传了一些代码,却导致了切换问工作长得时候的时候没有办法拉取和上传代码,清除缓存退出,reset github账号,看了网上好多大佬写的博客,都无济于事。一直报远程仓库不存在。之前但是也遇到过权限问题,首先报错不一样那种情况基本是access xxx ,但是此次貌似是链接找不到的问题。

经过一番折腾后,我打算重新拉取代码库,把问题先放一下,先搞手头工作,结果https的下载链接也提示找不到,下意识的去试试ssh的链接,发现可以成功。于是推断出,ssh验证是通过的,https的链接验证的账号密码,所以应该是账号密码的缓存机制造成的这个问题。

二、问题扩展

翻阅了相关的资料,git 关于 credentials 的介绍,里面详细说明了git 是如何寻找用户输入过的用户名和密码的,可以看一下明白 git 记录密码的原理,
git 去找系统是否缓存了用户的密码有三种策略:去缓存中找,去磁盘中找,去钥匙串中找, Users/xxx/.gitconfig 文件中,配置了git 到底选择哪个策略去找用户名和密码 通过编辑 .gitconfig 文件,credential.helper = store/cache/osxkeychain 来修改 git 缓存策略。
为了方便 git 使用 https 方式传输代码的时候不用每次都输入用户名和密码,所以一般 git 会储存用户的用户名。 储存方式有缓存cache,保存在硬盘store,和保存在钥匙串osxkeychain中。

三、问题解决

1.首先找到缓存配置,文件路劲代码如下

git config --show-origin --get credential.helper

2.用管理员身份修改清楚配置,如下是配置文件的内容,删除即可

[credential]   helper = xxx

3.查看是否已经清除缓存,输入以下命令,如果现实osxkeychain,则清除失败,如果什么也不显示,那么缓存数据已清除。

git config credential.helper

你可能感兴趣的:(remote: Repository not found. fatal: repository 'xxxxxxx' not found)