如何在Windows的Git Bash控制台中注销?
我在Windows上使用Git,版本为2.9.2.Windows.1 我处理一个存储库项目,当我推送时,它要求我输入GitHub用户名和密码。我输入了GitHub用户名和密码来更新项目 在我的下一次推送中,它不再要求我输入用户名和密码。我对项目的所有修改都已更新 看起来我的用户名和密码已“保存”。我如何“不保存”它们 我如何注销 我试过了如何在Windows的Git Bash控制台中注销?,git,github,passwords,Git,Github,Passwords,我在Windows上使用Git,版本为2.9.2.Windows.1 我处理一个存储库项目,当我推送时,它要求我输入GitHub用户名和密码。我输入了GitHub用户名和密码来更新项目 在我的下一次推送中,它不再要求我输入用户名和密码。我对项目的所有修改都已更新 看起来我的用户名和密码已“保存”。我如何“不保存”它们 我如何注销 我试过了 git config --global --unset user.name git config --global --unset user.email gi
git config --global --unset user.name
git config --global --unset user.email
git config --global --unset credential.helper
但他们不会让我退出
我想清除登录,以便下次推送时,它再次要求我输入用户名和密码。首先,用户身份验证与
user.name
和user.email
git config无关
其次,与旧答案“”相比,使用了(Git 2.9.2=>)
检查您的配置(git config-l
),查看是否在那里注册了“manager
”(或者,最近的2020+:“manager core
”)。如果没有,请使用以下设置:
git config --global credential.helper manager-core
自其v1.3.0版(2016年4月)以来,它的
实际上,无论您使用的是什么“xxx
”凭证管理器(“xxx
”是git config credential.helper
”的结果),您都可以执行以下操作:
printf "protocol=https\nhost=github.com" | git-credential-xxx erase
# Windows (2020-2021)
printf "protocol=https\nhost=github.com" | git-credential-manager-core erase
# Linux
printf "protocol=https\nhost=github.com" | git-credential-libsecret erase
# MacOs
printf "protocol=https\nhost=github.com" | git-credential-osxkeychain erase
这比摆弄操作系统的凭证管理器要好
该git凭证xxx
可执行文件位于git安装的usr/libexec/git-core
或(对于Windows)mingw64/libexec/git-core
中。在MacOS上,它应该已经在
/usr/local/git/bin/
中
如果
git-config-credential-manager
返回store
,那么git使用“store
”模式,将凭据保存到磁盘上的纯文本文件中,并且它们永远不会过期
type %USERPROFILE%\.git-credentials
我将从配置中删除特定的凭证帮助器,因为它以纯文本形式存储凭证
实际确认它是一个本机Windows凭据管理器功能,可自动(Git或not)提供凭据: 我看到“管理您的凭据”选项,出于好奇,我点击它,然后我点击“Windows凭据”,在“通用凭据”下,有“
git:github.com
”;,我点击它,有“删除”选项。我点击删除
当我执行git推送时
,它会再次询问我的用户和密码。当我想注销时,这正是我想要的
对于Windows 10,如果您的电脑有不同的登录名(MSFT帐户),并且GitHub在另一个登录名上,如果您转到“控制面板”→ 用户帐户和搜索凭据管理器,您将看到“Web凭据”和“Windows凭据” GitHub似乎使用在PC中注册的默认ID(Microsoft帐户)。在Windows凭据下,删除GitHub登录详细信息,然后重试推送。系统将提示您显式输入GitHub ID和密码。一旦我们登录,它将被存储为Git push的个人访问令牌
如果您使用多个帐户(这正是我来到这里的原因),在全局Git配置中取消设置凭据管理器并使用提示屏幕更有效
我无法通过credential manager文档找到如何管理多个帐户,这些文档目前还很简单。如果您想更改帐户,请稍后:
git config --global user.name "new name"
git config --global user.email "new email"
git config --list
git help
git help commit
出现此问题的原因: 1.以前登录的帐户凭据保存在Windows凭据中 2.因此,Gitbash出现错误,不允许我们登录新凭据 对于解决方案,请执行以下步骤: 控制面板->用户帐户->管理您的凭据->Windows凭据->在通用凭据下有一些与Github相关的凭据,单击它们并单击“删除”
这将删除以前的任何登录,而不会出现任何问题。Gitbash控制台中提供了一个新的登录检查,它要求您提供登录凭据以保存它们。此外,如果您有SSH密钥,请不要忘记删除它们。即使您删除了凭据,如果您有SSH密钥,您仍然可以自动登录 因为您确实登录了另一个帐户,而该帐户没有此repo的访问权限,如果您使用mac os,请转到Keychain access,搜索
gitlab.com
,将其删除,然后再次尝试git克隆。我删除git凭据存储的唯一选项是以下命令。
git-credential-manager-remove
我找到了我的解决方案(感谢VonC):
转到:控制面板→ 用户帐户→ 管理您的凭据→ Windows凭据→ 在通用凭据下,有一些与GitHub相关的凭据。单击它们并单击“删除”
它将我注销,因此下次我推送时,它会要求我输入用户名和密码。您提供的链接中可能存在@dkaz的重复项没有答案。无需编辑问题(这是您提出问题的地方,而不是您的解决方案:我已编辑我的答案以反映您的发现)Git Credential Manager最初是在Git for Windows 2.7.3中引入的:(2016年3月)可以肯定的是,该部分是存储库链接的url链接,对吗?我试过这个命令,但似乎不起作用。它说“未知命令清除。请使用git credential manager?显示帮助”@LordRixuel您使用的是什么版本的git credential manager?是的,在您的情况下,
将是“Git Credential Manager for Windows 1.5.0版”,当我用delete重试时,它会说“无法从stdin读取”,但我在回答中确实提到了“首先,用户身份验证与user.name和user.email Git config无关。”您所说的“as later”是什么意思?迄今为止唯一对我有效的解决方案git credential manager delete
似乎永远不会重新启动
type %USERPROFILE%\.git-credentials
git config --global user.name "new name"
git config --global user.email "new email"
git config --list
git help
git help commit