使用git提交代码时候出现403怎么解决
The requested URL returned error: 403
这里说git 的 https 链接无法交互的问题:
在 github /gitlab 上clone 代码,然后 push,需要输入用户名和密码,但是第一次输入密码后,就不会再提醒再次输入了。显而易见是因为电脑缓存了github 用户名和密码,所以才千万次的报403错误。
git 用户名密码缓存原理:
为了方便 git 使用 https 方式传输代码的时候不用每次都输入用户名和密码,所以一般 git 会储存用户的用户名。 储存方式有缓存cache,保存在硬盘store,和保存在钥匙串osxkeychain中。
解决方案:
清空配置
git config credential.helper //查看本机的credential 是否已经被清空。
如果输入了git config credential.helper命令之后还是出现了osxkeychain, store 或者 cache 等,说明 git 的配置还是没有被清空。
没清空怎么办?使用以下命令查看 credential.helper 所在的文件目录(可能一个电脑上有多个.gitconfig文件)。找到文件清空里面的内容后保存,你可能会遇到电脑权限问题,你聪明的大脑袋可以解决的。
git config --show-origin --get credential.helper //查看 credential.helper 所在的文件目录
如图:查看缓存所在文件目录
如果都删除还是不行,找到缓存所在目录的.git-credentials 文件,删除,防止系统自动去那里寻找用户名密码。
最后,重新配置,配置成store:
git config --global credential.helper store //
然后第一次push 的时候会提示输入用户名密码,输入完成之后/Users/xxx/ 文件夹下会生成一个新的文件.git-credentials,里面保存了你的用户名密码等信息。