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


当前回答

对我来说,它是一些放在配置文件中的其他git URL,所以我手动更改了它:

移动到。git/config文件并编辑它, 删除无效的URL(如果有的话),并像下面这样粘贴有效的git SSH/HTTP URL:

[remote "origin"]
        url = git@gitlab.com:prat3ik/my-project.git

而且它真的起作用了!!

其他回答

我有两种方法来解决这个问题:

I added my username to the front of the remote URL (https://username@gitRepoURL) Not always the best solution; where I work, even though we're slowly moving towards using GIT, we have our applications on a network drive, so if I do this, only I can push changes even if someone else worked on a feature. I can't run git config --system --unset credential.helper from GIT Bash, so I had to open up an Admin Command Prompt and run it there (this assumes you installed GIT such that it can run from both GIT Bash and the Command Prompt). From Bash, I get a "could not lock config file" error.

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

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

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

如果您更改了git服务帐户(GitHub或GitLab, bitbackket等)的登录名或密码,就会发生这种情况。你也需要在Windows凭证管理器中更改它。

因此,键入“凭据管理器”(如。“Диспетчер Учетных Данных”),然后转到你的git服务帐户,也可以修改数据。

在深入研究解决方案之前,让我们先看看为什么会发生这种情况。

在与git进行任何交易之前,您的机器都会对您的身份验证进行git检查

机器中存在一个SSH密钥令牌,并与git-repo共享(最优先) 或 使用用户名/密码(最常用)

为什么会发生这种情况

简单地说,发生这种情况是因为存储在机器中的凭据不是真实的,即有可能存储在机器中的密码已经从git中更改了

解决方案

前往,控制面板和搜索凭据管理器,寻找您使用git url和更改信用。

好了,这基本上适用于每一个窗口保持跟踪

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

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

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

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