从 git cli 注销

Logging out from git cli

如何通过命令行退出 git 上的某个帐户?

我有两个帐户,但我不知道我是怎么搞错的。在尝试了不同的方法之后,我似乎找不到从那里退出的方法。

当我推送时,我得到:

remote: Permission to yyyyyyyy/xxxxxx.git denied to ZZZZ. //<---- wrong acc
fatal: unable to access 'https://github.com/yyyyyyyy/xxxxxx.git/': The requested URL returned error: 403

我试过:

git config --global --unset-all
git config --global --unset user.name
git config --global --unset user.email
git config --global --unset credential.helper
git remote rm origin
git remote add origin git@github.com:<username>/<repo>.git
git push --set-upstream origin <my-branch>
rm ~/.gitconfig

但我总是得到同样的错误。

谢谢!

Git 没有登录的概念。它确实有一个存储凭据的凭据助手,在 macOS 上,它在系统配置中设置为默认值 osxkeychain

The Git FAQ 解释了如何清除凭据助手:

echo url=https://github.com | git credential reject

请注意,如果您有两个帐户,处理 HTTPS 的最佳方法是在设置远程时始终将帐户放在 URL 中。也就是说,您的 URL 应该看起来像 https://account1@github.com/git/git.githttps://account2@github.com/git/git.git。然后,因为您有不同的用户名,凭据助手将为每个用户单独存储凭据并自动使用正确的凭据。 This approach 在 Git 常见问题解答中也有概述。

请注意,如果您需要更改现有遥控器的 URL,您可以这样做:git remote set-url origin https://account1@github.com/git/git.git