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


当前回答

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

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

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

其他回答

Mac上的Sourcetree也有同样的问题

处理步骤:删除keychain访问中的密码。

https://community.atlassian.com/t5/Sourcetree-questions/SourceTree-quot-fatal-Authentication-failed-for-quot/qaq-p/201844

当你尝试再按一次时,它会要求你输入密码。

进入Windows凭据管理器(按Windows键并键入' Credential '),在Windows凭据下编辑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.

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

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

在我的例子中,我重新安装到最新版本的git(目前是2.16.2)。我不知道是不是我的旧版本的git过时了,但我在github页面上读到,如果你遇到https克隆错误,应该这样做。我认为这是一个https克隆错误,因为错误集中在HTTP基本,而GitLab使用https。在这个思考过程中,我可能是错的,但这个解决方案对我的情况有帮助,我希望这对将来的任何人都有帮助!