git clone 报错remote:Access denied The requested URL returned error:403
作者:互联网
git clone project_URL命令向远程仓库克隆项目时遇到报错403
error 403是服务器拒绝了终端的访问,是账户密码的问题,可是在客户端没有弹出需要输入账户密码的弹窗。是因为git客户端缓存了错误的密码。
https协议方式每次都要输入密码,git 客户端可以设置缓存密码,这样可以不需要每次克隆都输入密码
1、设置记住密码(默认15分钟)
1 git config --global credential.helper cache
2、设置其他时间(例如1小时)
1 git config credential.helper 'cache --timeout=3600'
3、长期存储密码
1 git config --global credential.helper store
可能是当初设置了长期存储密码(是客户端所在的电脑,即使重装git,密码也存在)保存的账户密码会自动应用到每一个git clone命令,所以导致现在没有弹出输入账户密码的窗口,但是以前保存的密码又和现在的账户对不上或者如今要克隆的不是以前账户下的项目,就会报403错误。
解决如今的问题方法如下:
方法一、把账户密码的信息添加到你要克隆的项目URL中
1 git clone http://username:password@gitee.com/name/projectname.git
注意:如果username或者password中有特殊字符例如@、$要把它们转为url编码
例如 利用python urllib库的parse
1 from urllib import parse 2 print(parse.quote_plus('@')) 3 print(parse.quote_plus('$'))
运行结果:
把账户密码中的‘@’,‘$’替换为‘%40’,‘%24’,重新输入git clone url 命令,clone成功
下次再克隆该账户的项目的时候,不再需要在url中添加账户和密码了,因为这种方式会把账户密码添加到~/.git-credentials
方法二:
运行命令:rm ~/.git-credentials,删掉git config --global credential.helper store保存的账号和密码。回到每次输入用户名和密码。
标签:requested,git,克隆,账户,clone,密码,报错,403 来源: https://www.cnblogs.com/szeto/p/16585243.html