在使用SourceTree拉取GitLab上的远程仓库的时候,一直提示“⚠️这是一个无效的源路径/URL”的警告。
检查发现无论是Http的地址还是SSH的地址,都是同样的警告;(SSH Key已经正常配置)
而这两个地址都是确定正确的,使用终端都可以正常拉取代码;
而SourceTree拉取GitHub上的仓库也是正常的;
解决:在git push时,(HTTP)按道理是要输入密码的,我就好奇为什么一直不要输入密码了。
原来git自己有凭证缓存机制,将密码和账户缓存在钥匙串里;我第一次拉取远程仓库时,输入了一次错误密码,后续就一直访问该错误密码,然后就一直出错!只要去钥匙串删除该错误密码,重新拉取时会提示再次输入密码,正确输入密码即可;
如果你是Mac系统,git默认是提供osxkeychain辅助程序来管理你的密码,以至于每次你当你需要提供用户名和密码的时候,osxkeychain辅助程序都默默帮你填写了。如果你是Windows系统,你可能已经安装了git-credential-winstore了。如果安装的是GitGUI,则提供的是git-credential-manager。
除此之外,你也可以使用git-credential-store和git-credential-cache来管理密码,前者在文件中用明文存储密码,后者存在内存中。
并且!!!使用的git安装工具(Git-2.15.1.2-64-bit)在安装时会默认帮我们把credential.helper设置成manager,除非我们在安装时下面这个默认勾选的配置被手动取消了