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


当前回答

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

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

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

其他回答

对我来说,以下方法有效:

不要使用您的GitLab密码,而是创建一个访问令牌,并使用它代替您的密码:

在GitLab中,在右上角,点击“个人配置文件→设置→访问令牌” 创建一个新的个人访问令牌(检查api选项) Git克隆… 当要求您输入密码时,复制并粘贴访问令牌,而不是您的GitLab密码

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

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

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

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

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

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

如果您正在使用git > 2.11并使用Kerberos与Gitlab交互,则需要在本地git中设置此配置,以避免出现remote: HTTP Basic: Access denied错误。

$ git配置——global http。emptyAuth真实