如何在'git credential-osxkeychain'中重置存储的凭据?

时间:2012-06-16 23:28:40

标签: macos git github

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

当我执行“git push”时,我收到403错误。它具有正确的URL。我尝试了一个“git credential-osxkeychain get”来查看它给出的内容,并打印出错误的凭据。

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

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

我试过了:

git credential-osxkeychain erase
git credential-osxkeychain set

该程序从不给出任何提示。如果我不做正确的话,Set会说“输入错误”。我尝试输入“password=password”等,但是当我做“获取”时,我仍然会得到旧的。

我无法弄清楚这些存储的位置,因为它们不在.gitconfigure中。此外,最近没有钥匙链项目可能是它。 (我的钥匙串中有几个GitHub帐户,它没有使用任何帐户。)

9 个答案:

答案 0 :(得分:79)

从终端:

 $ git credential-osxkeychain erase
 host=github.com
 protocol=https
 <press return>

注意:输入上面的“protocol = https”后你需要按~~ RETURN ~~ TWICE

答案 1 :(得分:59)

我不确定如何通过命令行擦除,但通过Keychain Access应用程序可以轻松完成。只需转到应用程序 - &gt;实用工具 - &gt; Keychain Access,然后输入“github.com”。您可以删除无效项目或使用该应用程序更新密码。

答案 2 :(得分:24)

解决方案原来是这样的:

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

我通过触摸Keychain Access中的帐户来解决问题,以便更改日期(我想我刚刚更改了评论),现在它成为最新的GitHub帐户,它成为第一个返回到凭证-osxkeychain的帐户,并且一切顺利。

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

答案 3 :(得分:10)

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

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

答案 4 :(得分:5)

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

或者从应用程序实用程序钥匙串访问中手动从钥匙串中删除。然后删除github.com钥匙串。然后用push;它会要求钥匙串访问;然后否认。

它将要求输入新的用户名和密码,然后添加它然后按下该文件。

git push后发现此错误。然后我使用大写 - 问题:

  

remote:对user1 / file.git的权限被拒绝给用户2(以前存在   用户)。致命:无法访问&#39; https://github.com/xxxxxxxxxxxx/&#39;:   请求的URL返回错误:403

答案 5 :(得分:4)

尝试运行/Applications/Utilities/Keychain Access

答案 6 :(得分:4)

答案 7 :(得分:4)

在命令行中试试这个。

git config --local credential.helper ""

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

答案 8 :(得分:0)

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

Image

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