git clone
时遇到类似这种错误:
remote: Repository not found.
fatal: repository 'https://github.com/pete/first_app.git/' not found
而实际上你的远程库是存在并且可用的,这篇文章很好,网上搜这个问题的结果很多说的都是ssh配置的,而今天我碰到的问题是http。然后我仔细看了下文章了说的第二种情况,就是用户没有访问权限。
在别人电脑上看,git clone
之后会要求输入用户名和密码,可是我的却没有。最后找到了Caching your GitHub password in Git这篇文章,主要内容是介绍怎么缓存用户名密码的。所以有没有种可能,是电脑里有了其他的无效用户名密码,所以一直验证失败而且不给提示输入新的密码?
这篇文章很简单,就是从mac的钥匙串里读取用户名密码,检测方法就是查看一下git的配置git config -l
,然后注意是否有credential.helper=osxkeychain
。然后发现有这个之后,我就打开钥匙串看了一下,果然找到了问题所在。
选择左侧的密码,可以看到很多,然后我就发现这里躺着上一个人的用户名密码配置(公司电脑),删掉后就好了。
还有一点,如果使用sourceTree来管理,首次clone代码时会让你填写用户名密码,这时会有弹窗问你是否允许它访问钥匙串,很多人可能跟我一样都没有注意到这个东西,其实就是这时它把用户名密码写到了钥匙串里,然后以后管理项目都是用钥匙串里的用户名密码做验证。
可是貌似在sourceTree里把配置的用户删掉了钥匙串里的还在,所以如果你没注意到钥匙串的存在,可能和我一样被整得一脸懵逼。