不像这篇文章,我使用的是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工具凭据存储文档:
我的设置
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
您现在应该能够像以前一样克隆/提取/获取。
我有两种方法来解决这个问题:
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.
我想我来晚了一点。但我觉得这对新人有帮助!
我的错误是:
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/
在深入研究解决方案之前,让我们先看看为什么会发生这种情况。
在与git进行任何交易之前,您的机器都会对您的身份验证进行git检查
机器中存在一个SSH密钥令牌,并与git-repo共享(最优先)
或
使用用户名/密码(最常用)
为什么会发生这种情况
简单地说,发生这种情况是因为存储在机器中的凭据不是真实的,即有可能存储在机器中的密码已经从git中更改了
解决方案
前往,控制面板和搜索凭据管理器,寻找您使用git url和更改信用。
好了,这基本上适用于每一个窗口保持跟踪
在Gitlab中,进入管理员/设置/常规/登录限制部分。
如果您正在通过HTTPS对GitLab进行身份验证,请确保您具备:
Allow password authentication for Git over HTTP(S)
检查。此选项假设您不使用2FA。如果您不使用外部身份验证提供程序,则显示还具有:
Allow password authentication for the web interface
也检查。