问题:
今天从github上clone下一个项目,然后修改后git push时总是出现:
remote:Permission to lixyou/rw-split-plugin.git defined to xxx
fatal: ..... The requested URL error:403
从http的403错误码可以看出,是没有权限。
我github上的这个仓库rw-split-plugin.git是使用lixyou用户名的。
所以我认为git push时,应该是使用了哪个地方配置的user xxx。
我在想刚刚clone下来的仓库怎么会使用默认的user呢?我并没有做任何配置,首先怀疑全局.gitconfig配置。
然后:
less ~/.gitconfig
发现全局配置user项中的name并不是xxx,但是为了保险,我还是将其修改了。
然后继续git push,返现仍然403。说明git还是使用了哪个配置。
后来baidu,发现mac钥匙串管理器存储了github.com的用户名和密码,然后将这个地方修改了下,就ok了。
windows上也会存在该问题:windows的凭据管理器中会存储登录的github用户名和密码。
一般都会使用git credentials分别配置各个远程仓库的认证信息,或者使用全局配置,但是全局配置是个不推荐的做法。详细见Git Push 避免用户名和密码方法