关于Git的一个奇怪问题
问题的起源
公同Mac服务器的Jenkins上有个项目无法获取git源代码,报如下红色错误:
remote:The project you were looking for could not be found or you don't have permission to view it
fatal: repository 'https://gatlab.yiogzi.com/yingzi/Cross-Platform-Toam/yingziflutter superapp.git' not found
看着是访问权限的问题。
问题的扩大化
运维的同学把Jenkins上的Credentials插件降级了,导致项目配置里面的选分支参数不见了,有的项目有有的没有;
于是把插件升级回来,选分支参数配置回来了,发现访问权限又出现了,而且扩大到了所有项目;
这下所有项目都无法用Jenkins打包了。
初步解决
经过一番查找解决方案,发现通过在地址上加上账号或以访问,如:
https://用户名@gatlab.yiogzi.com/yingzi/Cross-Platform-Toam/yingziflutter superapp.git
但是Flutter工程中引用的第三方插件无法使用这种方式,所以打包还是失败。
奇怪的现像
通过命令终端git clone也报同样的错误了:
remote:The project you were looking for could not be found or you don't have permission to view it
fatal: repository 'https://gatlab.yiogzi.com/yingzi/Cross-Platform-Toam/yingziflutter superapp.git' not found
但是,通过ssh登录却没有这样的问题,而且是正常使用,但毕竟这种方式不是我们正常工作的场景,所以不是长久之计;
通过重新复制一份Jenkins服务和空间也没问题,但这种方式iOS打包出现没有明显错误的失败,也就是莫名奇妙的失败;
于是问题集中在先解决终端使用git的问题;
解决方案:
git config --list查看信息;
清除git缓存——失败;
重置用户git config --global user.name yujingzhou——失败;
在gitlab上设置ssh keys——无效;
删除keychains上的用户凭证——删除失败;
升级Jenkins和插件——无效;
重新安装git——brew git失败;
终极解决方案:
最后问题还是聚集在git的凭证缓存上,再次尝试删除keychains上gitlab.yingzi.com下的凭证,居然成功了,大功告成,不知道前一天为什么会删除不成功!