我正在尝试在新机器上设置Git,而我在使用远程存储库进行身份验证时遇到了问题。
我对Git的经验有限,但我之前已成功完成以下任务:
$git init
)$git remote add origin https://[my remote repository]
)到目前为止一切顺利。但是,当我尝试通过命令行或TortoiseGit与远程存储库进行交互 - 拉,克隆或推送时,在输入我的凭据时,我会收到以下错误消息:
无法删除凭据:找不到元素
致命:https://[my远程存储库
的身份验证失败
它显然似乎是某种身份验证问题 - 但是,我可以很好地登录远程仓库的Web界面,所以我确定我正在使用正确的un / pw。 我已经为Git安装了Windows Credential Store,但是它会抛出完全相同的错误消息。
谷歌没有太多帮助 - this solution似乎是Vista / 32bit特定(我是Win7 / 64bit),this SO question已被删除,让我更加聪明。
现在,我确信我的问题有一个简单的解决方案,但我一整天都没有进展。有人能给我一个指针吗?
提前致谢!
编辑:
以下是clone
命令的完整结果:
我:\ KODE \ _Git \ myproject> git clone https:// ...
克隆到'myproject'......
“https:// ...”的用户名:myuser
“https://myuser[at] ...”的密码:
致命:“https:// ...”
的身份验证失败
答案 0 :(得分:13)
我在Windows中遇到了同样的错误。它发生在我更改控制面板中的凭据后 - >用户 - >管理凭据。
我通过添加新凭据修复了它:
git:https://github.com(网络凭据)以及用户名和密码。
答案 1 :(得分:6)
我在 github 时遇到了这个问题。就我而言,问题的根源是双因素身份验证。我把它变成 on ,当我把它关闭时 - 我摆脱了凭据错误。
虽然我必须保持双因素身份验证关闭,但这是一种耻辱。
答案 2 :(得分:5)
我正在使用GitExtension 2.4 6(包括msysgit 1.8.3),我遇到了同样的问题。还要恢复GitExtension 2.44的安装(使用msysgit 1.8.1.2)也无法解决问题。
经过一些测试后,我得出的结论是我的密码存在问题,导致git-credential-winstore.exe的最新版本修复了密码中“=”的问题。
我的密码不包含任何 = ,但它包含“和§。所以我的第一个想法是更新已安装的版本git-credential-winstore.exe到最新版本1.2。我手动更新了文件并再次尝试,但没有成功。
最后我将密码更改为不包含任何特殊字符,现在可以正常使用。
答案 3 :(得分:4)
看起来远程服务器无法对您进行身份验证。
您使用的是https://网址。因此git使用https连接到远程存储库。 服务器answers与401(未授权)和您的git客户端prints上面的错误消息。
不确定,为什么服务器不喜欢你。名称/密码不正确,或者发生了一些奇怪的事情。尝试使用浏览器访问https:// URL。也许这可以让您了解服务器问题可能是什么。
您还可以尝试在网址https://name:password@...
中明确指定名称/密码。
(但服务器可能仍会拒绝身份验证。)
答案 4 :(得分:3)
嗯,事实恰恰相反,我的一位同事昨晚遇到了完全相同的问题,与此问题无关。
像我一样,他下载了最新的官方Git版本 - v1.8.3。他继续卸载最新版本并安装了v1.8.1.2 - 这解决了这个问题。
当我有机会并报告回来时,我会放手一搏。
答案 5 :(得分:2)
使用GitHub,如果您使用双因素身份验证和https Git,则会收到此消息。
解决方案是创建一个您使用的个人访问令牌来代替您的密码。
答案 6 :(得分:1)
编辑:当使用anyauth和Windows身份验证激活时,似乎是一个卷曲bug /与IIS不兼容
编辑2:似乎安装msysgit 1.8.0-preview-20121022修复了问题
使用更多的版本的mssys git将失败并出现auth错误。 这可以使用curl / libcurl重新记录,curl / libcurl是http / https的基础Git提供程序。
C:\Program Files (x86)\Git\bin\curl.exe --anyauth http://user:password@server/tfs/defaultcollection/_git/repo/info/refs?service=git-receive-pack
这很好用
C:\Program Files (x86)\Git\bin\curl.exe --digest http://user:password@server/tfs/defaultcollection/_git/repo/info/refs?service=git-receive-pack
因此,禁用Windows身份验证会使git正常工作,但是您放弃其他所有内容(从VS或TFS管理控制台访问服务!)
之后能够推送和推送标签(来自git bash和git扩展)
注意:我使用git 1.8.4.msysgit.0,git-credential-winstore 1.2和Git Extensions 2.47.3
注意2:不知道是否同时启用其他类型的身份验证
注3:未尝试使用包含=或其他“特殊”字符的密码
答案 7 :(得分:1)
在我的情况下,我不得不重新定义(禁用并再次启用)Team Foundation Server备用凭据,因为密码策略已被强化。
答案 8 :(得分:1)
如果你正在使用Windows Credential Store for Git,那么问题可能就是您正在使用错误的1.3版本。
使用以下命令解决命令问题:
cmdkey /list
列出Windows凭据存储中的当前凭据。
并手动添加您的git凭据(在这种情况下对于TFS Online,但对Github来说是相同的):
cmdkey /generic:LegacyGeneric:target=git:https://mysite.visualstudio.com /user:MyName /pass:MyPass123
我发现在执行类似git pull
的操作后,我的凭据会自动删除。
安装git-credential-store v1.2为我解决了问题。请参阅:git push fails with git-credential-winstore
我还改变了我的"替代证书"我的个人资料中的密码用于我的TFS在线帐户(他们的密码政策已更改为现在需要3个不同的字符类别),如Barbara的答案所示。
答案 9 :(得分:0)
我刚才有同样的问题,但我猜原因可能有点不同。
在我的场景中,我试图使用与用于访问另一个TFS存储库相同的帐户访问新的TFS-git存储库。 我的解决方案是重新安装git-credential-winstore.exe应用程序并重新安装它。我还删除了Windows凭据管理器中存储的凭据。 链接到git凭证应用程序: http://gitcredentialstore.codeplex.com/
希望这有助于某人!
答案 10 :(得分:0)
我在使用Windows 2008(32位),Git,GitExtensions时遇到了这个问题。
尝试推送时,如果出现“用户名/密码”框提示,即使我确定使用了正确的用户名/密码,我也会收到相同的消息。
在配置原点时添加用户/密码为我解决了这个问题:
git config remote.origin.url https://user:password@bitbucket.org/username
答案 11 :(得分:0)
我最近遇到了同样的问题,那是因为我没有使用正确的网址。
不良网址:https://github.com/blesh/myrepo
好网址:https://github.com/blesh/myrepo.git
< - .git !!!
git remote -v
git remote set-url origin https://github.com/blesh/myrepo.git
一旦我这样做,一切都恢复正常。
答案 12 :(得分:0)
在我们的案例中,这是服务器的问题。我们的IT人员说git服务器无法访问身份验证服务器。
我不确定这意味着什么,但是在快速服务器退回和其他一些IT魔法之后,所有内容都得到了及时修复。
答案 13 :(得分:0)
我也遇到了这个错误。解决此问题的唯一方法是在凭据下的visualstudio.com配置文件中创建辅助凭据。使用带有git扩展的辅助凭证修复了错误。