如何删除要求凭据的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 凭证管理器(旧的或 Core),您可能回答了有关是否要使用它的问题。
在较早的配置文件(例如系统配置文件)中的某处,有一个类似于credential.helper = manager. 因为 Git 按顺序调用凭证管理器并使用第一个提供凭证的管理器,所以它首先询问manager在系统级别指定的那个,导致弹出,然后调用store本地配置文件中的那个。
可能发生的情况是您的旧帐户正在使用manager帮助程序,而新帐户正在使用store帮助程序保存您的密码,因此提示没有出现,manager因为它保存了您的凭据。
如果您不想使用manager帮助程序,请运行git config -l --show-origin以查找具有其他credential.helper设置的文件,然后对其进行编辑以删除该选项。
请注意,manager助手将比将您的凭据存储在磁盘上的文件中更安全(因为它将被加密),并且它将使用个人访问令牌,GitHub 将来会需要它,因此您可能想要使用弹出提示获取凭据并删除store帮助程序。