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


当前回答

我想我来晚了一点。但我觉得这对新人有帮助!

我的错误是: remote: HTTP Basic:拒绝访问

remote:你必须为Git在HTTP上使用一个'read_repository'或'write_repository'范围的个人访问令牌。

remote:你可以在https://gitlab.com/profile/personal_access_tokens上生成一个

致命:“https://gitlab.com/PROFILE_NAME/REPO_NAME.git/”认证失败

我用的是Ubuntu,但这对我来说很管用:

转到https://gitlab.com/profile/personal_access_tokens 创建新的令牌和标记检查。 复制令牌 现在转到终端,像这样粘贴它。

git克隆https://oauth2:YOUR_TOKEN@gitlab.com/PROFILE_NAME/REPO_NAME.git/

其他回答

进入Windows凭据管理器(按Windows键并键入' Credential '),在Windows凭据下编辑git条目。请用新密码替换旧密码。

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

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

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

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

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

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

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

为什么会发生这种情况

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

解决方案

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

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

以上的解决方案都不适合我,而且我没有笔记本电脑的管理权限,但它们最终引导我找到了git工具凭据存储文档:

我的设置 Windows 10 | Git 2.18.0.windows。1 | 通过HTTPS链接克隆

如果你使用wincred作为凭据帮助器,这个解决方案是有效的:

> git config --global credential.helper
wincred

将助手更改为“缓存”应该可以达到目的,因为它会要求您再次提供凭据。要将其设置为缓存,只需输入:

> git config --global credential.helper cache

检查您的更新是否激活:

> git config --global credential.helper
cache

您现在应该能够像以前一样克隆/提取/获取。