132

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

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

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

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

我试过了:

git credential-osxkeychain erase
git credential-osxkeychain set

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

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

4

9 回答 9

186

From Terminal:(需要输入以下三行)

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

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

于 2015-01-18T04:11:01.893 回答
86

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

于 2012-06-26T20:22:52.670 回答
31

解决方案原来是这样的:

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

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

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

于 2012-07-20T16:35:30.963 回答
13

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

git config --local credential.helper ""

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

于 2021-01-30T17:33:12.913 回答
10

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

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

于 2012-11-16T17:05:01.980 回答
10

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

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

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

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

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

于 2017-04-18T19:23:45.990 回答
5

尝试运行/Applications/Utilities/Keychain Access

于 2012-06-17T08:49:38.227 回答
5

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

于 2015-08-28T12:21:45.360 回答
4

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

图片

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

于 2021-05-17T08:51:21.113 回答