我正在使用几个存储库,但最近我只在我们的内部存储库中工作,一切都很好。

今天我不得不提交并将代码推到另一个,但我遇到了一些麻烦。

$ 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'

为了避免凭证缓存…

似乎什么都不管用;谁有更好的主意?


当前回答

我找到了适合我的方法。当我给OP写注释时,我没有检查系统配置文件:

git config --system -l

显示了一个

credential.helper=!github --credentials

线。我用

git config --system --unset credential.helper

现在这些证书都被遗忘了。

其他回答

需要登录各自的github用户名和密码

清除windows下的用户名和密码

控制面板\用户帐户\凭证管理器

编辑windows凭证

删除现有用户,现在转到命令提示符写入推送命令,它会显示一个github弹出输入用户名/电子邮件和密码。

现在我们可以在切换用户后推送代码。

在PowerShell控制台中执行以下命令清除Windows缓存中的Git凭据管理器:

rm $env:LOCALAPPDATA\GitCredentialManager\tenant.cache

或在Cmd.exe中

rm %LOCALAPPDATA%\GitCredentialManager\tenant.cache

如果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 config --global credential.helper cache

然后运行任何git命令,比如git pull,它会要求输入用户名和密码。输入详细信息,如果您想存储您的git凭据,请运行以下命令-

git config --global credential.helper store

从Windows当前登录用户文件夹中的。gitconfig文件中删除这一行:

[credential]
helper = !\"C:/Program Files (x86)/GitExtensions/GitCredentialWinStore/git-credential-winstore.exe\"

这对我来说很有效,现在当我按下遥控器时,它又会要求我输入密码。