[英]"fatal: Authentication failed" with git-credential-manager
我第一次使用 Azure DevOps 来托管我的下一个项目。 当我在 Azure Devops 上创建一个空项目时,我尝试克隆它。 在尝试克隆时,它要求我输入密码。 我输入了它,它说我的密码有误,但我知道我输入的密码是正确的。
然后我在我的 mac 上安装了git-credential-manager for max/linux。 我尝试从远程来源执行git pull
取,但它只是像第一次一样提示输入密码,但失败了。
我还尝试在 Azure Devops 上使用“创建 git 凭据”功能,我可以在其中指定一个新密码。 这也因同样的错误而失败。
我在此处的存储库中提交了一个 GitHub 问题。 我没有办法克隆我的项目吗? 我存储库的 url 的形式为https://yousefshanawany@dev.azure.com/...
。
更新:我在我的 Windows 机器上试过这个,它给了我一个登录弹出窗口,它工作正常。
确保您的 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 预览版
IntelliJ Idea的解决方案:“ Git IntelliJ“身份验证失败” “
解决我的问题的是:
从https://dev.azure.com/创建存储库
现在在控制台中,您可以通过更改 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>
现在它会要求你输入密码。 您必须使用您在创建凭据时提供的凭据。
我找到的一个解决方案是使用个人访问令牌 (PAT)。 它位于“克隆”选项卡中。 它很容易工作。
相同的错误(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
现在提示输入用户名/密码提示。
FWIW,我发现我必须使用 Git-Credential-Manager-Core 实用程序:
您可以通过运行以下命令重新配置 Git Credential Manager:
git credential-manager-core configure
结果:
配置组件“Git 凭据管理器”...
配置组件“Azure Repos 提供程序”...
是的,所以我的同事和我遇到了同样的问题(在 Windows 上没有这个问题,只有在 mac 上),上述解决方案对他有用,对我不起作用。 我必须通过本指南使用个人访问令牌验证访问来创建个人访问令牌 (PAT)。
然后在 iTerm 中:git clone https://octavialo%40organizationname:abcBFJreallylongtokenstringGHYKLjjsjks@dev.azure.com/organizationname/reponame
%40 是 @ 符号的代表。 我使用 Octavilo@organizationname.com 登录到 azure
我也尝试过,其中 foobar 是我给令牌的名称:git clone https://foobar:abcBFJreallylongtokenstringGHYKLjjsjks@dev.azure.com/organizationname/
我认为问题可能出在我的密码中,其中包含特殊字符。
我将 sudo 添加到我的 git push 命令中,系统提示我输入我的 github 凭据并且它工作正常
sudo git push
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.