git - 如何删除要求凭据的 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 登录都会弹出询问我的凭据。
当我取消它时,一切正常。我不需要输入用户名或密码。遥控器已更新。如何摆脱那个弹出窗口?在更改帐户凭据之前,我没有这种行为。
解决方案
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
帮助程序。