协慌网

登录 贡献 社区

从 Git 删除凭证

我正在使用多个存储库,但最近我只是在内部存储库中工作,一切都很棒。

今天,我不得不提交代码并将其推送到其他代码中,但是我遇到了一些麻烦。

$ git push appharbor master
error: The requested URL returned error: 403 while accessing https://[email protected]/mitivo.git/info/refs?service=git-receive-pack
fatal: HTTP request failed

我无能为力,这将再次带来密码输入。

如何重置系统上的凭据,以便 Git 询问我该存储库的密码?

我试过了:

  • git config --global --unset core.askpass

为了取消密码

  • git config credential.helper 'cache --timeout=1'

为了避免凭证缓存...

似乎没有任何效果;有人有更好的主意吗?

答案

如果 Windows 计算机上出现此问题,请执行以下操作。

  • 转到凭证管理器

    • 在德国,它被称为: Anmeldeinformationsverwaltung
    • 在法语中,它被称为:身份识别
    • 在波兰语中,它称为: Menedżerpoświadczeń
    • 在俄语中被称为: Диспетчеручётныхданных

    转到凭证管理器

  • 转到 Windows 凭据

  • 删除 “通用凭据” 下的条目

    转到Windows凭据,然后删除“通用凭据”下的条目

  • 重新尝试连接。这次,它将提示您输入正确的用户名和密码。

Git 凭证缓存运行一个守护进程,该进程将您的凭证缓存在内存中并按需分发。因此,杀死 git-credential-cache--daemon 进程会丢弃所有这些内容,并且如果您继续将其用作 cache.helper 选项,则会导致重新提示您输入密码。

您还可以使用git config --global --unset credential.helper禁用 Git 凭据缓存。然后重置此设置,您将继续拥有可用于其他存储库(如果有)的缓存凭据。如果已在系统配置文件(例如,用于 Windows 2 的 Git)中设置了git config --system --unset credential.helper则可能还需要执行 git config --system --unset credential.helper。

在 Windows 上,最好使用管理器帮助git config --global credential.helper manager )。这会将您的凭据存储在 Windows 凭据存储中,该凭据存储具有控制面板界面,您可以在其中删除或编辑存储的凭据。通过此存储,您的详细信息受 Windows 登录名的保护,并且可以在多个会话中保留。 Windows 2.x 的 Git 中包含的管理器帮助程序已替换了 Windows 1.8.1.1 的 Git 中添加的较早的 wincred 帮助程序。一个类似的名为winstore 的帮助程序也可以在线获得,并与 GitExtensions 一起使用,因为它提供了更多的 GUI 驱动的界面。管理器帮助程序提供与winstore相同的 GUI 界面。

从 Windows 10 支持页面中摘录,其中详细介绍了 Windows 凭据管理器:

要打开凭据管理器,请在任务栏上的搜索框中键入 “凭据管理器”,然后选择 “凭据管理器”,然后单击 “控制面板”

然后选择Windows 凭据来编辑(= 删除或修改)给定 URL 的存储的 git 凭据。

重新输入:

$ git config credential.helper store

然后将提示您再次输入您的凭据。

警告

使用此帮助程序会将密码未加密地存储在磁盘上

资料来源: https://git-scm.com/docs/git-credential-store