【问题标题】:How do you reset the stored credentials in 'git credential-osxkeychain'?您如何重置“git credential-osxkeychain”中存储的凭据?
【发布时间】:2012-06-19 12:51:20
【问题描述】:

我已按照 GitHub 说明设置我的帐户,并且可以克隆,但无法远程推送。

当我执行“git push”时,我收到 403 错误。它有正确的 URL。我尝试了“git credential-osxkeychain get”来查看它提供了什么,这会打印出错误的凭据。

我相信发生的事情是它第一次要求提供凭据,我认为这是另一个应用程序要求,并且它输入了错误的凭据。

我只需要重置它,以便它为我的 GitHub 帐户使用正确的钥匙串项。

我试过了:

git credential-osxkeychain erase
git credential-osxkeychain set

程序从不给出任何提示。如果我没有做正确的事情,Set 会说“输入错误”。我尝试输入“password=password”等,但是当我执行“get”时,我仍然得到旧的。

我不知道这些存储在哪里,因为它们不在 .gitconfigure 中。此外,没有最近的钥匙串项目可能是它。 (我的钥匙串中有几个 GitHub 帐户,但没有使用任何一个。)

【问题讨论】:

标签: macos git github


【解决方案1】:

从终端: (需要输入以下三行)

 $ git credential-osxkeychain erase ⏎
 host=github.com  ⏎
 protocol=https   ⏎
 ⏎
 ⏎

注意:在上面输入“protocol=https”后,需要按~~RETURN~~两次(每个'⏎'相当于一个'press enter/return')

【讨论】:

  • 由于某种原因,我在 Keychain 应用程序中找不到任何 Git/GitHub 凭据,但这有效。谢谢!
  • 因为我不清楚:你必须输入上面的所有 3 行,然后再次按回车 - 即上面的 2/3 行不是命令的输出,而是输入。跨度>
  • 这个答案对我有帮助。非常感谢!
  • 输入回车键的次数为key。
  • @Ojasvsingh 它会从您的钥匙串中删除 github.com 条目。这意味着下次您尝试连接时,将检测到不再有条目。这意味着您将被提示输入 github.com 的当前凭据
【解决方案2】:

我不确定如何通过命令行擦除,但通过 Keychain Access 应用程序很容易做到。只需转到 Applications -> Utilties -> Keychain Access,然后输入“github.com”。您可以通过应用删除无效项目或更新密码。

【讨论】:

  • 如果有人读到这篇文章知道如何从命令行做,会很高兴知道。
  • @funroll 命令行工具是security。手册页声明它有一个delete-internet-password 命令。
  • 感谢您的更新,我相信这对某人有用。
  • 来自哪个钥匙串?
【解决方案3】:

解决办法原来是这样的:

git credential-osxkeychain 命令在我的钥匙串中使用first GitHub 帐户条目。这个不是可以访问相关项目的那个。

我通过触摸 Keychain Access 中的帐户解决了问题,因此它的日期已更改(我想我只是更改了评论),现在它成为了最新的 GitHub 帐户,它成为第一个返回 credential-osxkeychain 的帐户,并且因此一切正常。

支持多个 GitHub 帐户的更好形式会很好,但大多数人可能只有一个主帐户并且不会遇到此问题。

【讨论】:

  • 我不确定这对同一主机上的多个用户如何工作,但您可以查看 ssh 并使用 ~/.ssh/config 文件而不是使用 OSX 钥匙串。这用于您可能为不同主机(以及思考帐户)拥有多个 ssh 密钥的情况。 nerderati.com/2011/03/17/…
【解决方案4】:

在你的命令行中试试这个。

git config --local credential.helper ""

每当我在 OSX 钥匙串中有多个 GitHub 帐户时,它都适用于我

【讨论】:

  • 这可能不是基于问题标题的公认答案,但在提问者试图实现的上下文中绝对有用。如果您的密码已更改并且 git “记住”旧密码,只需运行此命令并重试。谢谢 invinciblemuffi。
【解决方案5】:

在 Mac 上,使用命令 git credential-osxkeychain erase

或从 ApplicationsUtilitiesKeychain Access 手动从钥匙串中删除。然后删除 github.com 钥匙串。然后使用推送;它将要求钥匙串访问;然后拒绝。

它会询问新的用户名和密码,添加它然后推送一个文件。

git push 之后我发现了这个错误。然后我使用大写- 问题:

remote:user1/file.git 的权限拒绝 user2(以前存在 用户)。致命:无法访问“https://github.com/xxxxxxxxxxxx/”: 请求的 URL 返回错误:403

【讨论】:

    【解决方案6】:

    git-credential-osxkeychain 将密码存储在 Apple Keychain 中,如上所述。

    默认情况下,gitcredentials 只考虑域名。如果您希望 Git 考虑完整路径(例如,如果您有多个 GitHub 帐户),请将useHttpPath 变量设置为true,如http://git-scm.com/docs/gitcredentials.html 所述。请注意,更改此设置将再次询问您的每个 URL 的凭据。

    【讨论】:

      【解决方案7】:

      【讨论】:

        【解决方案8】:

        尝试运行/Applications/Utilities/Keychain Access

        【讨论】:

          【解决方案9】:

          您可以通过“钥匙串访问”删除现有凭据并添加新凭据

          参考。 https://docs.github.com/en/github/getting-started-with-github/updating-credentials-from-the-macos-keychain

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2012-10-14
            • 1970-01-01
            • 1970-01-01
            • 2012-11-19
            • 1970-01-01
            • 1970-01-01
            • 2020-08-31
            相关资源
            最近更新 更多