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保存的账号和密码。回到每次输入用户名和密码。

 

方法三:

在自己电脑用户下打开“.gitconfig”文件,

 

 删除credential.helper属性和它的属性值,然后保存文件。

 

 再打开git安装目录下的配置文件,如果有这个属性,也删除,保存。

 

posted @   司徒韵然  阅读(6265)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示