Git clone 报错:403 完美解决方案

git 的使用和如何clone ,我这里暂且不讲,直接说问题:

首先操作结果如下:

的意思可以百度,简单说就是服务器知道你的意图,但是拒绝了你。 隐隐约约感觉到是账密的问题,但是又不弹出需要输入密码的弹窗。后来查阅定位到具体原因:git 客户端缓存了错误的密码。

问题起源:

https方式每次都要输入密码,按照如下设置即可输入一次就不用再手输入密码的困扰而且又享受https带来的极速

    设置记住密码(默认15分钟):
git config --global credential.helper cache

这一步在我们一开始使用git的时候,看的那个教程上肯定有,也操作过。 当时是方便了, 等现在换项目时就会遇到今天的问题。 如果想自己设置时间,可以这样做:

git config credential.helper cache --timeout=3600

这样就设置一个小时之后失效

    长期存储密码:
git config --global credential.helper store
找到当初挖的坑,就进入今天的主题,推荐方法:

增加远程地址的时候可以带上密码。(推荐)

  1. 方法一:
http://yourname:password@git.oschina.net/name/project.git

这种方式会把改账号和密码也添加到~/.git-credentials。

  1. 方法二: 运行命令:rm ~/.git-credentials,删掉之前 git 保存的账号和密码。回到每次输入用户名和密码。

真是后悔,图一时痛快,忽略了宝贵的“推荐”二字。 git config --global credential.helper store该命令可以将用户名和密码长期全局地长期地存储在客户端(实际是客户端所在电脑,并非git的任何目录下,也就是说,即使重装git,改密码也存在。),注意是全局的。 不推荐的原因正是这个。因为,这里保存的账号和密码会自动应用到每一个git clone指令,如果想要克隆的不是该账号下的项目,就只会得到403错误。

经验分享 程序员 微信小程序 职场和发展