你如何重置“git凭证-osxkeychain”中存储的凭据?

我已经按照GitHub的说明build立了我的帐户,而且我可以克隆,但是我无法远程推送。

当我做一个“混帐推”我得到了403错误。 它有正确的url。 我尝试了一个“git凭证 – osxkeychain get”来看看它给了什么,并打印出错误的凭据。

我相信发生了什么事是第一次要求证书,我以为是另一个应用程序问,而且是错误的。

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

我试过了:

git credential-osxkeychain erase git credential-osxkeychain set 

程序从不给出任何提示。 如果我没有做正确的事情,套将会说“不好的input”。 我试着把“ password=password ”等,但是当我做一个“得到”我仍然得到旧的。

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

我不知道如何通过命令行擦除,但通过Keychain Access应用程序很容易。 只需进入应用程序 – > Utilities – > Keychain Access,然后input“github.com”。 您可以删除无效的项目或从应用程序更新密码。

从docker:

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

解决scheme原来是这样的:

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

我通过触摸Keychain Access中的帐号来解决问题,使其date改变(我想我只是改变了注释),现在它成为最近的GitHub帐号,成为第一个返回到credential-osxkeychain的帐号,因此一切正常。

对多个GitHub账户的更好的支持forms将是很好的,但很可能大多数人只有一个主账户,不会遇到这个问题。

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

默认情况下,gitcredentials只考虑域名。 如果你希望Git考虑完整path(例如,如果你有多个GitHub帐户),请将useHttpPathvariables设置为true ,如http://git-scm.com/docs/gitcredentials.html中所述; 。 请注意,更改此设置将为每个url重新提示您的凭据。

这个问题的GitHub帮助页面: https : //help.github.com/articles/updating-credentials-from-the-osx-keychain/

尝试运行/Applications/Utilities/Keychain Access

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

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

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

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

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