[英]Git: Failed to erase credential: Element not found
我正在尝试在新机器上安装Git,而我在使用远程存储库进行身份验证时遇到了问题。
我对Git的经验有限,但我之前成功完成了以下工作:
$git init
) $git remote add origin https://[my remote repository]
) 到目前为止,一切顺利。 但是,当我尝试通过命令行或TortoiseGit与远程存储库(拉,克隆或推送)进行交互时,在输入我的凭据时,我会收到以下错误消息:
无法删除凭据:找不到元素
致命: https:// [我的远程存储库]的身份验证失败
它显然似乎是某种身份验证问题 - 但是,我可以很好地登录远程仓库的Web界面,所以我确定我正在使用正确的un / pw。 我已经为Git安装了Windows Credential Store,但是它会抛出完全相同的错误消息。
谷歌没有太多的帮助 - 这个解决方案似乎是Vista / 32bit特定的(我是Win7 / 64bit), 这个问题已被删除,让我没有更聪明。
现在,我确信我的问题有一个简单的解决方案,但我一整天都没有进展。 有人能指点我吗?
提前致谢!
编辑:这是clone
命令的完整结果:
我:\\ KODE \\ _Git \\ myproject> git clone https:// ...
克隆到'myproject'......
“https:// ...”的用户名:myuser
' https:// myuser [at] ...'的密码:
致命:“https:// ...”身份验证失败
我在Windows中遇到了同样的错误。 它发生在我更改控制面板中的凭据 - >用户 - >管理凭据后。
我通过添加新凭证来修复它:
git: https : //github.com (网络凭据)和用户名和密码。
我和github有这个问题。 就我而言,问题的根源是双因素身份验证 。 我有它打开 ,当我把它关闭 -我摆脱这个认证错误的。
这是一个耻辱,但我必须保持双因素认证过的缘故吧。
我使用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。我手动更新了文件并再次尝试,但没有成功。
最后我将密码更改为不包含任何特殊字符 ,现在可以正常使用。
编辑:确认,这似乎是Git v1.8.3的一个问题 - 切换到v1.8.1.2解决了这个问题。 在这里下载。 谢谢你的帮助!
好吧,事实恰恰相反,我的一位同事昨晚出现了完全相同的问题,与此问题无关。
像我一样,他下载了最新的官方Git版本 - v1.8.3。 他继续卸载最新版本并安装了v1.8.1.2 - 这就解决了这个问题。
当我有机会并报告回来时,我会放手一搏。
使用GitHub,如果您使用双因素身份验证和https Git,则会收到此消息。
解决方案是创建一个用于代替密码的个人访问令牌。
编辑:当使用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:不知道是否同时启用其他类型的auth会改变任何东西
注3:未尝试使用包含=或其他“特殊”字符的密码
在我的情况下,我不得不重新定义(禁用并再次启用)Team Foundation Server备用凭据,因为密码策略是强化的。
如果您正在使用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使用git-credential-winstore失败
我还在我的TFS在线帐户的配置文件中更改了我的“备用凭据”密码(他们的密码策略已更改为现在需要3个不同的字符类别),如Barbara的回答所示。
我刚才有同样的问题,但我猜原因可能有点不同。
在我的场景中,我试图使用与用于访问另一个TFS存储库相同的帐户访问新的TFS-git存储库。 我的解决方案是重新安装git-credential-winstore.exe应用程序并重新安装它。 我还删除了Windows凭据管理器中存储的凭据。 链接到git凭证应用程序: http : //gitcredentialstore.codeplex.com/
希望这有助于某人!
我自己使用Windows 2008(32位),Git,GitExtensions来解决这个问题。
当尝试推送时出现用户名/密码框提示时,即使我确定我使用了正确的用户名/密码,我也收到了相同的消息。
在配置原点时添加用户/密码为我修复了这个问题:
git config remote.origin.url https:// user:password@bitbucket.org/username
我最近遇到了同样的问题,那是因为我没有使用正确的网址。
坏网址 : https://github.com/blesh/myrepo
: https://github.com/blesh/myrepo
好网址 : https://github.com/blesh/myrepo.git
: https://github.com/blesh/myrepo.git
< - .git !!!
git remote -v
git remote set-url origin https://github.com/blesh/myrepo.git
一旦我这样做,一切都恢复正常。
在我们的例子中,这是服务器的问题。 我们的IT人员说git服务器无法访问身份验证服务器。
我不确定这意味着什么,但是在快速服务器退回和其他一些IT魔法之后,一切都得到了及时修复。
我也得到了这个错误。 解决此问题的唯一方法是在凭据下的visualstudio.com配置文件中创建辅助凭据。 使用带有git扩展的辅助凭证修复了错误。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.