首页 > 解决方案 > 如何删除要求凭据的 github 登录弹出窗口?

问题描述

我最近更改了我的 Github 帐户。我的新用户名和电子邮件存储在全局 .gitconfig 中:

[filter "lfs"]
    process = git-lfs filter-process
    required = true
    clean = git-lfs clean -- %f
    smudge = git-lfs smudge -- %f
[user]
    name = myusername
    email = myemail@gmail.com
[credential]
    helper = store
    username = myusername

以及我在 .git-credentials 中的 github 密码。

每次我推送到我的远程存储库时,Github 登录都会弹出询问我的凭据。

Github 登录弹窗

当我取消它时,一切正常。我不需要输入用户名或密码。遥控器已更新。如何摆脱那个弹出窗口?在更改帐户凭据之前,我没有这种行为。

标签: gitgithub

解决方案


Git 有多个凭证管理器的概念。当您安装 Windows 版 Git 时,它附带了适用于 Windows 的 Git 凭证管理器(旧版或核心版),您可能回答了一个关于是否要使用它的问题。

在较早的配置文件(例如系统文件)中的某处,有一个看起来像credential.helper = manager. 因为 Git 按顺序调用凭证管理器并使用第一个为其提供凭证的管理器,所以它首先询问manager在系统级别指定的管理器,导致弹出窗口,然后调用store本地配置文件中的那个。

可能发生的情况是您的旧帐户正在使用manager帮助程序,但新帐户正在使用store帮助程序来保存您的密码,因此提示没有出现,manager因为它保存了您的凭据。

如果您不想使用manager帮助程序,请运行git config -l --show-origin以查找具有其他credential.helper设置的文件,然后对其进行编辑以删除该选项。

请注意,manager助手将比将您的凭据存储在磁盘上的文件中更安全(因为它将被加密),并且它将使用个人访问令牌,GitHub 将来会需要它,所以您可能想要使用弹出提示获取凭据并删除store帮助程序。


推荐阅读