我正在使用几个存储库,但最近我只在我们的内部存储库中工作,一切都很好。
今天我不得不提交并将代码推到另一个,但我遇到了一些麻烦。
$ git push appharbor master
error: The requested URL returned error: 403 while accessing https://gavekortet@appharbor.com/mitivo.git/info/refs?service=git-receive-pack
fatal: HTTP request failed
没有什么我能做的,这将再次带来密码输入。
我如何重置系统上的凭据,以便Git询问我该存储库的密码?
我试过:
Git配置——global——unset core.askpass
以便取消设置密码
Git配置凭证。Helper '缓存超时=1'
为了避免凭证缓存…
似乎什么都不管用;谁有更好的主意?
在Windows 10专业版上使用最新版本的Windows git,我遇到了类似的问题,我有两个不同的GitHub帐户和一个Bitbucket帐户,所以VS2017、git扩展和git bash的情况有点混乱。
我首先检查了git是如何处理我的凭据与这个命令(运行git bash与提升命令或你得到错误):
git config --list
我找到了条目凭据管理器,所以我点击开始按钮>键入凭据管理器,然后左键单击凭据管理器黄色安全图标,启动了应用程序。然后我点击Windows凭据选项卡,找到了我当前git帐户的条目,碰巧是Bit-bucket,所以我删除了这个帐户。
但这并没有做到这一点,所以下一步是取消凭据,我从我的笔记本电脑上的存储库目录,其中包含我试图推到远程的GitHub项目。我输入了以下命令:
git config --system --unset credential.helper
然后我做了一个git推送,我被提示输入一个GitHub用户名(我需要的正确的一个),然后相关的密码,一切都被正确推送。
我不确定这是一个多大的问题,大多数人可能工作在一个存储库,但我必须跨几个工作,使用不同的提供商,所以可能会再次遇到这个问题。
如果git配置凭据。helper返回Manager - Core(来自跨平台GCM - Git Credential Manager Core项目),你可以:
保持这个设置不变
使用跨平台GCM命令删除您的凭证:
printf "Host=github.com\nusername=xxx\nprotocol=https" | \
Git证书管理器核心擦除
检查它是否被带走:
printf "Host=github.com\nusername=xxx\nprotocol=https" | \
git credential-manager-core get
(用你的GitHub用户名替换xxx)
(将github.com替换为实际的远程Git存储库托管服务器:gitlab.com, bitbucket.com, yourOwnServer.com)
如果您看到提示您的凭据,单击“取消”:之前的凭据已从操作系统底层机密管理器(Windows凭据管理器,Linux libsecret或Mac osxkeychain)中消失)
在下一次git推送时,通过GCM-core凭据助手输入您的凭据作为提示符:您的新凭据将被存储。
Git凭据缓存运行一个守护进程,该进程将您的凭据缓存到内存中,并根据需要分发它们。因此,如果您继续使用git-credential-cache- daemon作为缓存,那么终止git-credential-cache- daemon进程将丢弃所有这些,并导致重新提示您输入密码。辅助选项。
你也可以使用Git config——global——unset credential.helper禁用Git凭据缓存。然后重新设置,您将继续拥有缓存的凭据,可用于其他存储库(如果有的话)。你可能还需要执行git config——system——unset credential命令。如果在系统配置文件(例如,Windows 2的Git)中已经设置了helper。
On Windows you might be better off using the manager helper (git config --global credential.helper manager). This stores your credentials in the Windows credential store which has a Control Panel interface where you can delete or edit your stored credentials. With this store, your details are secured by your Windows login and can persist over multiple sessions. The manager helper included in Git for Windows 2.x has replaced the earlier wincred helper that was added in Git for Windows 1.8.1.1. A similar helper called winstore is also available online and was used with GitExtensions as it offers a more GUI driven interface. The manager helper offers the same GUI interface as winstore.
从Windows 10支持页面提取详细的Windows凭据管理器:
要打开凭据管理器,请在任务栏上的搜索框中输入“凭据管理器”,然后选择凭据管理器控制面板。
然后选择Windows凭证来编辑(=删除或修改)存储的给定URL的git凭证。