使用git-credential-manager时出现“fatal: Authentication failed”的错误

9
我第一次使用Azure DevOps来托管我的项目。我创建了一个空项目后,尝试克隆它。在克隆的过程中,它要求我输入密码,我输入后提示我密码错误,但我确定我输入的是正确的密码。
我在我的mac上安装了git-credential-manager(max / linux版本)。我尝试从远程源执行`git pull`命令,但它只提示我输入密码,与第一次一样,并且失败了。
我还尝试使用Azure Devops上的“创建git凭据”功能,其中我可以指定一个新密码,但这也以相同的错误失败了。
我在他们的存储库这里提交了GitHub问题。是否没有办法让我克隆我的项目?我的存储库网址格式为https://yousefshanawany@dev.azure.com/...
更新:我在Windows机器上尝试了一下,它给了我一个弹窗让我登录,然后正常工作了。

请查看此链接,您将清楚了解有关Git身份验证的内容 - https://dev59.com/9lsW5IYBdhLWcg3wi32j#69556615 - Tejashree
8个回答

16

确保将git凭证助手声明到本地Git中:

git config credential.helper

如果输出为空,则输入:
git config --global credential.helper manager-core

然后再试一次。

不过,OP AskYous 正确指出了另一个问题 评论中所述

我能告诉它我的用户名吗?
我认为我的用户名是我的电子邮件地址,因为我使用我的组织帐户登录。

在这种情况下,URL 将是:

https://me%40email.com@dev.azure.com/yousefshanawany/<repo-name>/

注意电子邮件中的@符号必须进行百分比编码
请注意,使用个人访问令牌(PAT)是OP提到的另一种选择,如果您已激活了2FA,则必须使用它。但是请注意,这不是必需品。点击此处以获取更多信息。

2019年6月更新:这个问题被引用在 microsoft/Git-Credential-Manager-for-Mac-and-Linux的104号问题中,该问题刚刚得到了来自微软公司的John Briggs的评论:

我建议尝试GCM Core的macOS预览版本


Maksym Pecheniuk评论中指出

IntelliJ Idea的解决方案: "Git IntelliJ "Authentication Failed”"


谢谢。我尝试了,但是收到了相同的响应:https://i.imgur.com/BJuumPw.png - AskYous
URL看起来很奇怪:它应该是https://<you>@dev.azure.com/<you>/yourRepo:我不熟悉_git/xxx这一部分。 - VonC
我在Windows机器上尝试了旧的URL,它正常工作,得到了UI登录界面。我在Mac上尝试了新的URL,但是它显示:Cloning into '<repo-name>'... fatal: repository https://yousefshanawany@dev.azure.com/yousefshanawany/<repo-name>/' not found - AskYous
@AskYous 有没有可能尝试一个没有斜杠结尾的URL? - VonC
我可以告诉它我的用户名吗?我认为我的用户名是我的电子邮件地址,因为我使用我的组织帐户进行登录。 - AskYous
显示剩余3条评论

10
我的问题得到解决的方法是:
  1. https://dev.azure.com/ 创建代码库

  2. 在代码库视图中,用名称密码创建凭证 enter image description here

  3. 现在你可以通过改变Azure提供给你的初始url来在控制台中克隆你的代码库

git clone https://<companyname>@dev.azure.com/<companyname>/<project name>/_git/<repository name>

改成

git clone https://<your credentials name>@dev.azure.com/<companyname>/<project name/_git/<repository name>

现在它会让你输入一个密码。你必须使用创建凭证时提供的那个密码。


6

同样的错误(Windows,Git Bash命令行)。使用https(不是ssh)应该提示输入登录凭据,但实际上会出现错误:

$ git pull origin master
fatal: Authentication failed for 'https://github.com/frmbelz/my_git_project.git'

$ git config -l
...
credential.helper=manager
...

$ git config --global --unset credential.helper
$ git config --system --unset credential.helper

git pull现在会提示输入用户名和密码。


2
对我来说,credential.helpermanager-core,但只需运行 git config --global --unset credential.helper 然后重新执行失败的 git 命令即可解决问题。 - White hawk

3

我找到的解决方案是使用个人访问令牌(PAT)。它位于 "克隆" 选项卡中。这很容易实现。


1

您可以通过运行以下命令重新配置 Git 凭据管理器:

git credential-manager-core configure

结果:

正在配置组件“Git凭据管理器”...

正在配置组件“Azure Repos提供程序”...


不知怎么,这对我起作用了。 - Mazdaq
不知怎么的,这对我起了作用。 - undefined

0

0

我在我的 git push 命令中加入了 sudo,并提示我输入我的 Github 凭据,然后它就成功了

sudo git push

-1

好的,我的同事和我遇到了相同的问题(在Windows上没有此问题,只在Mac上有),上面的解决方案对他有效,但对我无效。我不得不按照这个指南使用个人访问令牌进行身份验证创建一个个人访问令牌(PAT)。

然后在iTerm中输入以下命令: git clone https://octavialo%40organizationname:abcBFJreallylongtokenstringGHYKLjjsjks@dev.azure.com/organizationname/reponame

%40代表@符号。我使用octavialo@organizationname.com登录Azure。

我也尝试过这个,其中foobar是我给令牌起的名称: git clone https://foobar:abcBFJreallylongtokenstringGHYKLjjsjks@dev.azure.com/organizationname/

我认为问题可能出在我的密码上,因为它包含特殊字符。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接