2020/12/5 更新

经过对 gitlab 一年多的熟悉和后台操作,总结出现项目找不到的原因大概有两个。

最常见的就是链接地址错误。 比如:http://xx.xx.xx.xx/project/webservice_xcx.git,其实这里的 project 是 gitlab 上的一个用户,而 webservice_xcx 是该用户创建的项目。首先要通过管理员账号登录到 gitlab,到这个用户下确认这个项目是否存在。因为后续通过在链接地址中添加个人的用户名,可以拿到项目,说明链接地址是正确的,个人也是具有该项目的 developer 以上的权限的(gitlab 给项目添加成员,可以设置不同等级的权限,developer 以上的权限可以读写项目内容)。

其次就是 git 本地配置错误。 git 本地配置可以通过 git config -l 来查看,主要关注两个配置项,一个是 user.name,一个是 credential.username。前者是用户个人信息,一般还会有个相关的邮箱配置项 user.email。后者是对 git 账号、密码进行存储的配置信息,通常还会有一个 credential.helper=store 项,表示凭证助手作用为存储。检查这两项是否都是个人的 git 用户名。如果不是,可以通过 git config user.name xxxgit config credential.username xxx 进行修改。

我的情况其实就是 git 本地存储的账号非个人账号,将其修改为个人账号用户名后,下次在提交代码,会让你输入新的用户名密码,之后会将用户名和密码自动存储到本地,不需要重复输入。

问题描述

公司准备新的项目开发,将之前前后端放在一起的小程序代码重新规整一遍。

首先通过 gitlab 项目地址直接拿到源码(download zip)。然后新建两个版本库,分别为 webservice_xcx 和 wxxcx,存放后端和前端的代码。当然我是没有权限创建新项目的,我直接拿到了两个版本库的地址。将前后端代码放到相关目录下,就开始初始化项目了。按照项目下 existing folder 的提示指令,一步步执行。到了最后一步报错了:

remote: The project you were looking for could not be found.

之前没见过这个错误,没什么思路,就去找度娘,然后喝了几口毒奶,发现并不能用。比如:有的提示让我去改 gitlab 的源码,有的则说我链接地址拼错了,有误。mmp。

没有方案,就直接上报给主管。主管给了我 master 分支的权限,还是不行。

解决方法

之后主管想办法,我也没闲着,就去 必应 上碰碰运气。运气还真不错,找到了一个看着像回事的解决方案:在 push url 中拼接自己的用户名。

git remote set-url origin http://lihai@xx.xx.xx.xx/project/webservice_xcx.git
git push -u origin master

没想到成了!

原因

那篇博客作者说,可能是之前登录其他的账号,有记忆。

本地并没有使用过其他的账户,改过之后也没有让我输入密码,直接就执行成了。

我自己没什么想法,不太清楚是怎么回事。