繁体   English   中英

Git 如何访问我的 GitHub 凭证?

[英]How is Git accessing my GitHub credentials?

我试图删除 Git 对 GitHub 上私有 GitHub 存储库的访问权限。 无论我尝试什么,我都无法阻止它获得访问权限。 因此,我想知道它是如何进行身份验证的,所以我可以删除 access

在这里尝试了这两种方法

第一的:

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

第二个

git config --global --unset-all

而且我还删除了钥匙串访问中的每个 github 条目。

当我打开一个新终端 window 并推送到私有 GitHub 存储库时,它通过用户名和 email (不是密码)询问,但推送成功。

问题

如何了解终端中的 Git 如何能够使用我的 GitHub 凭证来推动对 GitHub 的更改?

笔记

  • 我通过 HTTPS(而不是 SSH)连接到 GitHub

在大多数 macOS 系统上, credential.helper变量未在全局配置中设置,而是在系统配置中设置,因此您仍然启用了凭据助手。 您可以通过运行git config --get credential.helper来验证这一点,这可能会打印osxkeychain

如果您的目标是删除凭证,您可以按照 Git 常见问题解答中列出的步骤来完成

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

如果您只是对凭证助手是否有任何凭证感兴趣,您可以运行以下命令:

$ echo url=https://username@github.com | git credential fill | less

这将打印包含password=密码。 请注意,在这种情况下,我已将其设置为 less 以防止它在屏幕上长期打印。

根据GitHub 文档,对于 macOS:

通过命令行,您可以直接使用凭证助手擦除钥匙串条目。

$ git credential-osxkeychain erase
host=github.com
protocol=https
> [Press Return]

如果成功,则不会打印任何内容。 要测试它是否有效,请尝试从 GitHub 克隆一个私有存储库。 如果系统提示您输入密码,则钥匙串条目已被删除。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM