美文网首页
解决 切换github账号后无法push的问题

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

作者: 元亨利贞o | 来源:发表于2017-03-02 11:37 被阅读2026次

    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的问题

          本文链接:https://www.haomeiwen.com/subject/boyhgttx.html