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


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

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

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

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


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

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


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


我尝试使用浏览器URL存储库

git clone $(browserURL)

它提示输入我的用户名和密码

它运行得很好


您可以尝试以下命令:

git config --system --unset credential.helper

然后,输入Git远程服务器的新密码。


如果您试图用现有的Git帐户登录Gitlab。 您需要重新设置Gitlab的密码,第一次。

步骤:通过点击个人资料图标(右上角的下拉菜单)导航到设置。 步骤:进入设置 步骤:单击锁图标或象形文字图标(i。e密码)。 步骤:输入Gitlab的新密码。


试试这个:

转到:C:/Users/(YourUserName)/ 删除.gitconfig文件


嗯,每当我修改登录密码时,我都会遇到同样的问题。

下面是我需要运行的命令来解决这个问题:-

git config --global credential.helper wincred

运行上述命令后,它再次询问我更新的用户名和密码。


我得到了同样的错误,我解决了这个:

从cmd中应用命令(以管理员身份运行) Git config——system——unset credential.helper 然后我从C:\Program Files\Git\ mingw64/etc/ location中删除了gitconfig文件(注意:这个路径在MAC中会不同,如“/Users/username”) 在使用git命令后,比如git pull或git push,它会问我用户名和密码。应用有效的用户名和密码和git命令工作。

希望这对你有所帮助……


唯一对我有用的是使用https://username:Password@gitlab.com/user/projectgit而不是https://gitlab.com/user/projectgit。参见https://gitlab.com/gitlab-com/support-forum/issues/1654


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

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

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


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


我从窗口的“凭据管理器”中删除了gitlab凭据,并成功推送


每当我被迫修改Windows密码时,上面的答案都帮不了我。

试试下面对我有用的解决方案:

进入Windows凭证管理器。这是通过在EN-US Windows中按下Windows键并输入“credential”来完成的。在其他 本地化的Windows变体,您需要使用本地化术语(请参阅 一些例子的注释)。 您也可以使用快捷方式 control /name微软。运行对话框中的CredentialManager (WIN + R) 编辑Windows凭证下的git条目,替换旧的 用新密码。


进入控制面板->凭据管理器->Windows凭据选择github或gitlab凭据并修改它。这是针对windows10的


以管理员身份打开命令提示符,然后执行以下命令:

git config --system --unset credential.helper

这对我来说很有效:我用Mac,我把路径写在finder上:

~ /图书馆/应用支持/ SourceTree

我删除了认证文件,应该是这样的

yourUserName@STAuth-gitlab.yourAdress

然后尝试从源代码树中推拉代码,结果成功了。

你也可以阅读以下答案:

https://community.atlassian.com/t5/Sourcetree-questions/How-to-update-HTTP-S-credentials-in-sourcetree/qaq-p/297564


所以对我来说,问题是我通过链接我的GitHub账户创建了我的GitLab账户。这意味着该帐户没有正式的密码,因为它是通过GitHub和GitLab之间的热链接创建的。我通过去GitLab设置->密码->,并写与我的GitHub帐户相同的密码来修复它。


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


以上的解决方案都不适合我,而且我没有笔记本电脑的管理权限,但它们最终引导我找到了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

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


当Windows凭据管理器要求您的凭据访问GitLab时,这些是您访问GitLab时使用的用户名和密码。请使用您的电子邮件和密码。


打开windows电脑上的证书设置,删除https://gitlab.com/sobopla/Geronimod.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.


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

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


我也面临着同样的问题。问题的原因是身份验证错误。 要解决这个问题,请参见 控制面板->凭证管理器->通用凭证 在这里找到您的gitlab凭据并编辑它们。 确认您的ID密码是否正确


Mac用户:

去钥匙链和删除gitlab帐户 转到终端的项目路径,简单地键入git pull 然后将要求您输入gitlab的用户名和密码 输入您的用户名,您将在配置文件部分的gitlab帐户中找到该用户名。 然后在这里输入您更新的密码。 开始,再次尝试推动你的代码,它可能会帮助你们。


当我遇到同样的问题时,

我通过删除文件“passwd”来解决这个问题

C:\Users\ <用户名> \ AppData \ \ Atlassian \ SourceTree

删除Sourcetree后将提示输入密码。

Note:
OS Version : win10 
Sourcetree Version:  3.1

从gitlab ->setting——> access token创建一个新的访问令牌


仅供参考,我在生成并粘贴ssh_rsa后错误地使用URL时遇到了这个问题。pub到gitlab中的SSH密钥。

$ git clone http://gitlab.x
Cloning into 'start-up'...
remote: HTTP Basic: Access denied
remote: You must use a personal access token with 'api' scope for Git over HTTP.
remote: You can generate one at http://gitlab.x

通过使用下面的URL来解决。

$ git clone gitlab@gitlab.xxx.com/your_project.git

只需在域名前添加用户名:

https://**username**@gitlab.com/user/projectgit

助理会问你密码


Mac上的Sourcetree也有同样的问题

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

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

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


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

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

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

而且它真的起作用了!!


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

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


我曾经遇到过同样的问题,一旦我输入了错误的凭证,我的git帐户。对我来说有用的东西是,打开钥匙链访问->密码->找到你输入的错误密码并更新它并点击保存,之后你将能够在git上执行操作而没有任何问题。

我希望这对你有用。


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

我的错误是: 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/


奇怪的是,对我有效的方法是退出并重新登录到GitLab web UI。

我完全不知道为什么会这样。


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

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

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


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

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

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

为什么会发生这种情况

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

解决方案

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

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


mac下使用KeyChain ->登录->密码:修改密码


我也有同样的问题,但在我继续执行这里的任何建议之前,我检查了我是否仍然登录到我的github帐户。我在Gitlab账户工作时遇到了这个问题。我发现我仍然登录在我的Github帐户,我立即注销了帐户。我尝试在Gitlab再次克隆,我没有错误,克隆成功。


我必须执行以下两个步骤来解决这个问题

创建ssh-keygen并将公钥添加到我的gitlab帐户 使用以下命令禁用HTTPS Git配置——global http。sslVerify假


除了凭据管理器中的无效凭据之外,还有另一个导致此错误的原因。

我遇到了一个问题,我的帐户使用LDAP进行身份验证,但仍然设置了密码过期日期。由于服务器被配置为只使用LDAP身份验证,密码过期在web UI中是不可见的,直到GitLab发布了13.12.2版本的安全修复后才成为一个问题。

您可以通过GitLab Rails控制台检查和编辑用户帐户的password_expires_at属性。将其设置为nil解决了这个问题,并使LDAP身份验证再次工作。


您必须使用当前访问令牌更新.git目录中的配置文件。 请参阅此链接,我解决了因意外更改访问令牌而引起的问题。我在用GITLAB和CLion,


我得到了同样的错误,我解决了这个:

打开Windows搜索 类型:Git Bash 单击鼠标第二个按钮,选择“以管理员身份运行” 进入项目目录:cd "C:\path\to\our\project\name" 执行命令:git config——system——unset credentials .helper 注意:在linux下使用sudo命令运行此命令:sudo git config——system——unset credential.helper


对我来说,我创建了一个个人访问令牌,然后更新了我的git起源,如下所示:

https://<personal_access_token_name>:<personal_access_token>@gitlab.com/username/your-project.git

我有同样的问题,我遵循这些步骤,它已经解决了。 步骤1:—设置用户名和密码 步骤2:- git push -f origin


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

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

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


在Gitlab中,进入管理员/设置/常规/登录限制部分。

如果您正在通过HTTPS对GitLab进行身份验证,请确保您具备:

Allow password authentication for Git over HTTP(S)

检查。此选项假设您不使用2FA。如果您不使用外部身份验证提供程序,则显示还具有:

Allow password authentication for the web interface

也检查。


是的,这是一个登录凭证问题。在我的例子中,我正在处理一些特别的临时分支,我做了一些更改,并将其提交到同一个分支。在推的时候,我得到了这个错误。

接下来,我在master中签出。git拉了一下,它要求我更新证书。我输入正确。 在那之后,我检查了临时分支,创建了一个特性分支,并将该分支推到远程,这次没有任何问题。


我想在所有这些基础上再增加一个变化:如果你正在访问一个不在代理后面的GitLab公司实例,请确保你没有设置代理变量——例如HTTP_PROXY, HTTPS_PROXY。在经历了这个问题几乎所有的解决方案后,我发现我的问题是由这个引起的。