【问题标题】:How do I force git to prompt for credentials?如何强制 git 提示输入凭据?
【发布时间】:2013-09-23 04:55:17
【问题描述】:

几周前(在迷雾中),我需要对托管在 github 上的内容进行一些更改。我是由比我更了解的人 (SWKMTM) 通过电话指导我输入的确切内容,以便配置、下拉、修改、推回然后激活事物。其中一部分涉及向git 发出指令,表明我是 SWKMTM。

现在我有时间了解 git/github(以及回忆我的 github 登录信息),我已经返回并尝试在我的客户端计算机上用我的身份替换 SWKMTM(a la git config --global user.name 和 git config --global user.email)。完成此操作后,我可以执行与以前相同的更新活动。但是,我还没有被提示输入我的 github 密码(即,没有输入我的 github 密码的请求)。我假设已经缓存了一些东西,将我识别为 SWKMTM(并且我必须在早期的迷雾中做了一些涉及输入 SWKMTM 的 github 密码的事情)——无论是在本地还是通过隐式发送我的 SSH 公钥。

我在 .*rc 文件和配置目录中搜索了任何可能与 SWKMTM 相关联的凭据(希望发送所述凭据并强制 git 提示输入新凭据),但都是徒劳的。我同样未能在 github 上找到任何可以判断公钥是否存在某种别名的东西(以及如何清除它)。

我还尝试了 the advised "git config -l" 的任何凭证助手,但没有找到。

如何让 github 忘记我一直在伪装成 SWKMTM?

[旁注:这是在 MacOS 上,配置文件中没有指示使用 credential-osxkeychain。只有在推送中使用GIT_TRACE=1 之后,凭证的存储位置才很明显。]

【问题讨论】:

  • 我对你的问题有点迷茫。你是用 ssh 还是 https 来连接 github?
  • 您可以通过查看 /.git/config 找出您正在使用的 url。很可能是 https 请参阅:help.github.com/articles/…
  • @Pigueiras 我假设因为配置中有一行显示“url = github.com...”我正在使用 https?真的,我不记得做过任何明确的设置(我只能通过查看我的 CLI 历史记录来回忆事情)。
  • 另外,@Pigueiras 你的编辑是错误的——没有提示我输入密码。
  • 不,您没有更改任何凭据。为什么在更改 user.name 和 user.email 配置选项时会提示您输入新密码?它们只是提交对象中使用的字符串。

标签: macos git authentication github


【解决方案1】:

user.name 和 user.email 与凭据无关,它们只是用于存储您的作者信息的每个提交中的字符串。

Git 通常通过 SSH 对您进行身份验证,因此您必须将您的 SSH 私钥从另一台计算机复制到您的新客户端,或者创建一个新的密钥对并将公共部分添加到您的 github 配置文件中。


好的,经过在聊天中的广泛讨论,事实证明 Git 使用的是 osxkeychain 凭据助手,它提供了以前存储的凭据。

从您的 OSX 钥匙串中删除您存储的凭据或禁用 Git 中的凭据帮助程序(credential.helper 配置选项)以再次提示进行身份验证。

【讨论】:

  • 我在同一个客户端;我正在努力改变我的身份。我不记得过去曾在我的 github 个人资料上创建密钥对。
  • @jhfrontz: 嗯... github 通过您的推送 url 识别您... 它应该类似于 ssh://user@github.com:user/project.git。或者你的意思是“改变你的身份”有什么不同?
  • 不确定“推送网址”是什么。我使用的push 命令只有“origin”和“master”。
  • 你是如何克隆你的 git 仓库的?克隆存储库会使用您克隆的 url 设置一个名为 origin 的默认远程。
  • 查看我的历史记录,我看到一个类似git clone https://github.com...的命令
猜你喜欢
  • 1970-01-01
  • 2018-03-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-05
  • 1970-01-01
  • 1970-01-01
  • 2018-02-14
相关资源
最近更新 更多