解决 切换github账号后无法push的问题

0x01 问题

我有两个github账号, 昨天切换了一个账号. 让后clone了一个切换后的帐号中的仓库. 在这个仓库中做了些修改, 让后提交, 结果无法提交. 错误信息如下 (其中当前账号用currentAccount表示, 前一个账号用previousAccount表示, 当前要提交的仓库用currentRepo表示):

> git push
remote: Permission to currentAccount/currentRepo denied to previousAccount.
fatal: unable to access 'https://github.com/currentAccount/currentRepo/': The requested URL returned error: 403

从错误信息可以看出, 执行git push时读取的账号信息是之前的账号. 因此, 本地某个位置肯定存储了github的帐号信息 ==>
主要是由于我在~/.gitconfig文件中添加了下面配置:

[credential]
     helper = store

添加了此项配置之后, github的账号信息就会记录在~/.git-credential这个文件中, 以后需要账号信息就会从这个文件中读取. 至于为何添加上述配置, 请参考解决向github提交代码是老要输入用户名密码的问题

tips: 不推荐这么配置!! 万一有恶意的程序读取~/.git-credential文件的内容, 然后上传 ...... 然后别人拿你的帐号干点坏事......

0x02 解决方案

既知道了存储账号信息的地方, 那么解决方案就清楚了, 即: 清除~/.git-credential文件中之前的账号信息

**删除掉~/.git-credential文件中之前的github账号. **

现在你再执行git push便会出现让你输入用户名密码的步骤, 这时候输入你当前仓库的账号信息就OK啦!!

你可能感兴趣的:(解决 切换github账号后无法push的问题)