我在mac OS上与此帖不同:`git push origin <branchname>` throws error `HTTP Basic: Access denied` 我在GitLab中配置了密码。 我在GitLab上创建项目后创建了SSL密钥。
当我将现有文件夹用于新项目并按照以下步骤操作时:
现有文件夹
我被提示输入我的GitLab用户名和密码。输入密码后,我得到:remote: HTTP Basic: Access denied
fatal: Authentication failed for 'https://gitlab.com/myname/myproject'
答案 0 :(得分:171)
每当我被迫更改Windows密码时,都会发生这种情况,而以上答案均无济于事。
尝试以下对我有用的解决方案:
转到Windows 凭据管理器(按Windows键并键入“ credential”)以在Windows凭据下编辑git条目。用新密码替换旧密码。
答案 1 :(得分:88)
then
然后输入Git远程服务器的新密码。
答案 2 :(得分:49)
我遇到了同样的错误,我通过以下方法解决了这个问题:
从cmd应用命令
git config --system --unset credential.helper
当我执行上述命令时,我又遇到了另一个错误
错误:could not lock config file C:\Program Files\Git\mingw64/etc/gitconfig: Permission denied
然后我从 C:\ Program Files \ Git \ mingw64 / etc / 位置删除了 gitconfig 文件(注意:此路径在MAC中会有所不同例如“ /用户/用户名”)
git pull
或git push
之类的git命令之后,它要求我输入用户名和密码。应用有效的用户名和密码以及git命令正常工作。希望这对您有帮助...
答案 3 :(得分:35)
对我来说,以下工作有效:
请勿使用您的GitLab密码,而创建访问令牌并使用它代替您的密码:
答案 4 :(得分:17)
对我唯一有效的方法是使用https://username:Password@gitlab.com/user/projectgit
而不是https://gitlab.com/user/projectgit
。参见https://gitlab.com/gitlab-com/support-forum/issues/1654
答案 5 :(得分:16)
如果您使用的是git&gt; 2.11并使用Kerberos与Gitlab交互,您需要在本地git中设置此配置以避免remote: HTTP Basic: Access denied
错误。
$ git config --global http.emptyAuth true
答案 6 :(得分:16)
转到Windows凭据管理器(按Windows键并键入“凭据”)以在Windows凭据下编辑git条目。用新密码替换旧密码。
答案 7 :(得分:8)
Note: do not mix GitLab SSL settings and GitLab SSH keys.
If what you have configured in your GitLab profile is an SSH public key, then your HTTPS URL would not use it.
Regarding your HTTPS credentials, double-check:
git config credential.helper
.答案 8 :(得分:8)
以 管理员 打开命令提示符,然后运行以下命令:
git config --system --unset credential.helper
答案 9 :(得分:6)
我相信我来这里不晚。但是我认为这会帮助新偷窥者!
我的错误是: 远程:HTTP基本:访问被拒绝
远程:您必须通过HTTP使用Git的“ read_repository”或“ write_repository”范围的个人访问令牌。
远程:您可以在https://gitlab.com/profile/personal_access_tokens
生成一个致命:'https://gitlab.com/PROFILE_NAME/REPO_NAME.git/'
的身份验证失败我正在使用Ubuntu,但这对我有用:
git clone https://oauth2:YOUR_TOKEN@gitlab.com/PROFILE_NAME/REPO_NAME.git/
答案 10 :(得分:6)
答案 11 :(得分:5)
有两种方法可以解决此问题:
我将用户名添加到了远程URL(https://username@gitRepoURL)的前面
我无法从GIT Bash运行git config --system --unset credential.helper
,所以我不得不打开一个Admin Command Prompt并在其中运行它(假定您安装了GIT,使其可以从GIT Bash和命令提示符)。从Bash收到“无法锁定配置文件”错误。
答案 12 :(得分:5)
尝试一下:
C:/Users/(YourUserName)/
.gitconfig
答案 13 :(得分:5)
好吧,每当更改登录密码时,我都会遇到相同的问题。
下面是我需要运行以修复此问题的命令:-
git config --global credential.helper wincred
运行上述命令后,它会再次询问我更新后的 用户名 和 密码 。
希望这对您有帮助:)
答案 14 :(得分:4)
对我有用:我使用Mac,并在finder上写了路径:
〜/图书馆/应用程序支持/ SourceTree
我删除了应为
的身份验证文件yourUserName@STAuth-gitlab.yourAdress
然后尝试从源代码树中推入并拉出代码,它起作用了。
您还可以阅读以下答案:
答案 15 :(得分:4)
转到“控制面板”->“凭据管理器”->“ Windows凭据”,选择github或gitlab凭据并进行修改。这是针对Windows10
答案 16 :(得分:4)
转到C:\Users\<<USER>> AND DELETE THE .gitconfig file
,然后尝试连接到git clone, git pull or git push
之类的上游命令。系统将提示您重新输入您的凭据。请这样做。
答案 17 :(得分:4)
在我的情况下,我重新安装到最新版本的git(目前为2.16.2)。我不知道我的旧版本的git是否已过时,但我在github page上读到,如果您遇到https克隆错误,应该这样做。我认为这是一个https克隆错误,因为错误集中在HTTP Basic
,而GitLab使用HTTPS
。在这个思考过程中我可能错了,但解决方案在我的案例中有所帮助,我希望这对未来的任何人都有帮助!
答案 18 :(得分:3)
在与git进行任何事务之前,您的计算机会执行git检查以进行身份验证,这可以使用
简而言之,发生这种情况是因为存储在计算机中的凭据不是真实的,即很有可能您存储在计算机中的密码已从git中的密码更改了
前往控制面板并搜索凭据管理器,查找您使用的git url并更改凭据。
您可以使用此功能,几乎可以关闭所有窗口
答案 19 :(得分:2)
所以对我来说,问题是我通过将GitHub帐户链接到该帐户创建了我的GitLab帐户。这意味着该帐户没有正式的密码,因为该密码是通过GitHub和GitLab之间的热链接创建的。我通过转到GitLab设置->密码->并编写与我的GitHub帐户相同的密码来修复它。
答案 20 :(得分:2)
我从Windows中的“凭据管理器”中删除了gitlab凭据,并成功推送了
答案 21 :(得分:2)
与Mac上的Sourcetree相同的问题
解决方案:删除钥匙串访问中的密码。
当您尝试再次按下时,将要求您输入密码。
答案 22 :(得分:1)
以上解决方案均不适用于我,并且我的笔记本电脑没有管理员权限,但最终导致我进入git tools credential storage doc:
我的设置 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
您现在应该能够像以前一样克隆/提取/获取。
答案 23 :(得分:1)
当Windows凭据管理器要求您提供访问GitLab的凭据时,这些是您在访问GitLab时使用的用户名和密码。 EG:使用您的电子邮件和密码。
答案 24 :(得分:1)
如果您尝试使用现有的Git帐户登录Gitlab。 您需要首次重置Gitlab的密码。
答案 25 :(得分:1)
我尝试使用存储库的浏览器URL
git clone $(browserURL)
它提示输入我的用户名,然后提示我的密码
它工作正常
答案 26 :(得分:1)
我必须执行以下两个步骤才能解决此问题
创建 ssh-keygen 并将公钥添加到我的 gitlab 帐户
使用以下命令禁用 https
<块引用>git config --global http.sslVerify false
答案 27 :(得分:0)
输入错误的git帐户凭据后,我也遇到了同样的问题。对我有用的是,打开钥匙串访问->密码->找到您输入的错误密码并进行更新,然后单击保存,之后您就可以在git上执行操作了。
我希望这对您有用。
答案 28 :(得分:0)
这肯定是一个错误,ssh可以在我的一台机器上工作,而不能在另一台机器上工作。我解决了,遵循这些。
或者,您可以在现有存储库中使用此命令将remote设置为http,然后使用此命令git remote set-url origin https://gitlab.com/[username]/[repo-name].git
答案 29 :(得分:0)
在Mac上,使用KeyChain->登录->密码:更改密码
答案 30 :(得分:0)
我遇到了同样的问题,但是在继续执行此处的任何建议之前,我检查了我是否仍在登录github帐户。我在Gitlab帐户中工作时遇到问题。我发现我仍然登录了我的Github帐户,我立即注销了该帐户。我尝试在Gitlab中再次克隆,但没有错误,克隆成功。
答案 31 :(得分:0)
除了凭据管理器中的无效凭据之外,还有另一个原因会导致此错误。
我的帐户使用 LDAP 进行身份验证时遇到问题,但仍然设置了密码到期日期。由于服务器配置为仅使用 LDAP 身份验证,因此密码过期在 Web UI 中不可见,并且仅在 GitLab published a security fix with version 13.12.2 之后成为问题。
您可以通过 GitLab Rails Console 检查和编辑用户帐户的 password_expires_at
属性。将其设置为 nil
解决了该问题并使 LDAP 身份验证重新工作。
答案 32 :(得分:0)
实现解决方案的简单快捷的方法是:
第 1 步:在 Git bash 中运行 git 命令:
git pull
步骤 2:Git 凭据管理器将弹出并要求您输入凭据。 输入您的用户名和作为密码的新访问权限。
这将自动更新您的新 Git 凭据,您就可以开始使用了。
答案 33 :(得分:0)
对我来说,这是其他git URL放在配置文件中,所以我确实手动更改了它:
[remote "origin"]
url = git@gitlab.com:prat3ik/my-project.git
它正在工作!!
答案 34 :(得分:0)
只需在域之前添加您的用户名:
https://**username**@gitlab.com/user/projectgit
助手会要求您输入密码
答案 35 :(得分:0)
仅供参考,在生成ssh_rsa.pub
并将其粘贴到gitlab中的 SSH密钥之后,我在错误使用URL时遇到了此问题。
$ 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
改为使用。
$ git clone gitlab@gitlab.hutaojie.com:leiqi/start-up.git
答案 36 :(得分:0)
通过 gitlab->设置->访问令牌
创建新的访问令牌答案 37 :(得分:0)
我遇到了同样的问题(win10 + sourcetree 3.1) 我通过删除C:\ Users \ USERNAME \ AppData \ Local \ Atlassian \ SourceTree中的文件“ passwd”来解决了它
sourcetree将提示您输入密码。
答案 38 :(得分:0)
对于Mac用户:
答案 39 :(得分:0)
如果您更改git服务帐户(GitHub或GitLab,Bitbacket等)的登录名或密码,就会发生这种情况。您还需要在Windows凭据管理器中进行更改。
因此,在Windows搜索菜单中键入“ 凭据管理器”(rus。“ДиспетчерУчетныхДанных”),然后转到您的git服务帐户并更改数据。
答案 40 :(得分:0)
转到Windows计算机上的凭据设置,然后删除https://gitlab.com/sobopla/Geronimod.git
答案 41 :(得分:-1)
我在使用GitLab时遇到了同样的问题,这是我如何解决的问题:
生成访问令牌:为此,请转到设置/访问令牌,然后为其指定名称和有效期限并提交。
在项目文件中,打开“ .git”目录中的“ config”文件:/.git/config
。
您将找到以下一行:
[远程“来源”] url = https://[username]:[token]@your-domain.com/your-project.git
您将拥有gitlab用户名,而不是[username],并且应将[token]替换为在步骤1中生成的令牌。
保存更改。
答案 42 :(得分:-1)
奇怪的是,对我有用的是退出并重新登录到GitLab Web UI。
我不知道为什么会这样。