不像这篇文章,我使用的是macOS。

我已经在GitLab中配置了密码。我也有一个SSL密钥创建后的项目是在GitLab。

当我在新项目中使用现有文件夹并执行以下步骤时,系统会提示我输入GitLab用户名和密码。

现有的文件夹

cd existing_folder
git init
git remote add origin https://gitlab.com/sobopla/Geronimod.git
git add .
git commit -m "Initial commit"
git push -u origin master

输入密码后,我得到以下错误。

remote: HTTP Basic:拒绝访问 致命:“https://gitlab.com/myname/myproject”认证失败


当前回答

我在使用GitLab时也遇到了同样的问题,下面是我解决它的方法:

生成一个访问令牌:要做到这一点,请转到设置/访问令牌,然后给它一个名称和到期日期并提交。 在你的项目文件中打开“配置”文件。目录:/. Git /config。 你会发现这样一行: (远程“起源”) Url = https://[username]:[token]@your-domain.com/your-project.git 您将使用自己的gitlab用户名而不是[username],并且应该将[token]替换为步骤1中生成的令牌。 保存更改。

其他回答

我得到了同样的错误,我解决了这个:

从cmd中应用命令(以管理员身份运行) Git config——system——unset credential.helper 然后我从C:\Program Files\Git\ mingw64/etc/ location中删除了gitconfig文件(注意:这个路径在MAC中会不同,如“/Users/username”) 在使用git命令后,比如git pull或git push,它会问我用户名和密码。应用有效的用户名和密码和git命令工作。

希望这对你有所帮助……

除了凭据管理器中的无效凭据之外,还有另一个导致此错误的原因。

我遇到了一个问题,我的帐户使用LDAP进行身份验证,但仍然设置了密码过期日期。由于服务器被配置为只使用LDAP身份验证,密码过期在web UI中是不可见的,直到GitLab发布了13.12.2版本的安全修复后才成为一个问题。

您可以通过GitLab Rails控制台检查和编辑用户帐户的password_expires_at属性。将其设置为nil解决了这个问题,并使LDAP身份验证再次工作。

仅供参考,我在生成并粘贴ssh_rsa后错误地使用URL时遇到了这个问题。pub到gitlab中的SSH密钥。

$ git clone http://gitlab.x
Cloning into 'start-up'...
remote: HTTP Basic: Access denied
remote: You must use a personal access token with 'api' scope for Git over HTTP.
remote: You can generate one at http://gitlab.x

通过使用下面的URL来解决。

$ git clone gitlab@gitlab.xxx.com/your_project.git

这当然是一个错误,ssh在我的一台机器上工作,但在另一台机器上不工作。我解出来了,跟着这些。

生成一个永不过期的访问令牌,并选择所有可用选项。 删除已有的SSH密钥。 用https而不是ssh克隆repo。 使用用户名,但使用生成的访问令牌,而不是密码。

或者,您可以在现有的repo中使用此命令将remote设置为HTTP,并使用此命令git remote set-url origin https://gitlab.com/[username]/[repo-name].git

以管理员身份打开命令提示符,然后执行以下命令:

git config --system --unset credential.helper