不像这篇文章,我使用的是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”认证失败


当前回答

去C:\Users\<<USER>>并删除。gitconfig文件,然后尝试一个连接到上游的命令,如git clone, git pull或git push。系统将提示您重新输入您的凭证。请这样做。

其他回答

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

git config --system --unset credential.helper

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

打开Windows搜索 类型:Git Bash 单击鼠标第二个按钮,选择“以管理员身份运行” 进入项目目录:cd "C:\path\to\our\project\name" 执行命令:git config——system——unset credentials .helper 注意:在linux下使用sudo命令运行此命令:sudo git config——system——unset credential.helper

这个方法在Windows和Mac上都适用:

https://Username:accessToken@git.gitlab.com/path/to/repo/my-app.git

这里accessToken是在GitLab中创建的个人访问令牌。

注意:不要将GitLab SSL设置和GitLab SSH密钥混合使用。

如果您在GitLab配置文件中配置的是SSH公钥,那么您的HTTPS URL将不会使用它。

关于您的HTTPS证书,请仔细检查:

禁用双因素认证,或 如果您的用户名或密码中有特殊字符,或者 如果你有一个Git凭据助手:Git config凭据。

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

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

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