使用命令行退出Git用户登录

176
有没有一个命令可以退出git?我要把我的电脑交给别人,不想让git与我的账户绑定在终端上。

6
你使用的是哪个操作系统?你考虑清空硬盘吗? - Sven Marnach
1
我使用的是OS X操作系统。我想将我的电脑交出去,但不想抹掉所有数据。我只是不希望个人信息和代码库被访问到。 - byrdr
2
清空您的主目录是一个选项吗?通常它包含大量个人信息,这些信息很难完全清除。 - Sven Marnach
1
0_o git 实际上没有"登录"或"注销"的概念。如果你没有登录到某个东西,通常也无法注销它。 - user554546
3
你也可以在 Github/Bitbucket 或者你使用的其他网站上更改你的密码。 - Afas
显示剩余2条评论
8个回答

215

我遇到了同样的问题,上面的答案对我没有用,因为github是通过Windows凭据管理器而不是git bash来接收我的凭据的。

您可能需要检查Windows凭据管理器,然后在控制面板 > 用户帐户 > 凭据管理器 > Windows 凭据 > 通用凭据下删除github条目。


2
这个解决方案解决了我在Windows 10上使用HTTPS协议和两个不同用户名时遇到的403错误问题。我认为问题源于Git桌面客户端。我在家里不使用它,那里也没有问题。在办公室,我无法推送到我的个人repo。通过上述步骤清除Windows凭据似乎起了作用。当我执行git push时,它还导致Git登录窗口加载,所以我怀疑是桌面客户端的原因。 - agm1984
10
git config --global --unset credential.helper 非常好用。我无法像提到的那样在凭据管理器中找到登录信息。 - Ravimallya
3
访问Windows凭据,请参见 https://support.microsoft.com/en-us/help/4026814/windows-accessing-credential-manager。 - CoolMind
12
Git/Github是地球上最不直观的工具。 - M H

149

~/.ssh(或您存储它们的位置)中删除您的SSH密钥。

删除您的用户设置:

git config --global --unset user.name
git config --global --unset user.email
git config --global --unset credential.helper

或者你的所有全局设置:

git config --global --unset-all

也许与凭据存储相关的还有其他问题,但我总是使用SSH协议进行Git操作。


1
这实际上取决于操作系统和所使用的凭据存储。总的来说,要完全确保不泄露任何秘密可能会很困难。 - Sven Marnach
2
这对我没用。如果你在公司环境中,权限是不同的。我不得不手动从Windows Vault中删除一个陈旧的凭据。请参见下面的我的回复。 - Rao Pathangi
82
对我来说,git config --global --unset-all 输出 error: wrong number of arguments, should be from 1 to 2 - Senju
11
请执行以下操作,因为上述评论无效:git config --global --unset credential.helper - devDeejay
1
上述命令取决于git的版本。我最近更新了我的git版本,因此必须使用devDeejay的答案。 - cnxsoft
这在git版本2.32.0上不起作用。 - shvahabi

35

21

在Windows上尝试这个:

cmdkey /delete:LegacyGeneric:target=git:https://github.com

19

如果您在推代码时遇到任何问题(在Windows操作系统中),只需按照以下给出的步骤删除缓存的Git帐户:

  1. 搜索“控制面板”并打开它。
  2. 搜索“凭据管理器”并打开它。
  3. 在“管理你的凭据”页面下点击“Windows 凭据”。
  4. 在“常规凭据”下找到GitHub。
  5. 点击“删除”,然后点击“是”按钮进行确认。
  6. 现在开始推送代码,您将获得GitHub弹窗再次登录,然后您就完成了。在成功登录后,所有内容都将正常工作。

16

我在公司环境中改过密码后,尝试使用 git pull 命令。

结果出现了这样的错误提示:remote: Invalid username or password.

有趣的是,以下命令并没有起作用:git config --global --unset credential.helper

我使用 Windows-7 操作系统,于是我打开控制面板 -> 凭据管理器 -> 通用凭据。

在凭据管理器中的清单里,删除与 git 相关的行项目。

删除之后,回到 GitBash,再次执行 git pull 命令会提示您输入凭据信息的对话框。


+1 这正是我在寻找的。只是它在我的Windows 8中是Windows凭据,而不是通用凭据。 - DTdev

13

由于使用了其他凭据登录,我无法克隆存储库。

为了切换到另一个用户,我执行了以下操作:

git config --global --unset user.name
git config --global --unset user.email
git config --global --unset credential.helper

然后我使用https URL进行克隆,它要求输入凭据并且成功了。


0
在我的情况下,这些解决方案都没有起作用(即使是手动清理~/.gitconfig),所以我不得不将本地存储库文件夹重命名(以避免丢失本地更改),然后再次 git clone 远程存储库……


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接