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

我已经按照 GitHub 的指示设置了我的帐户,我可以克隆,但我无法远程推送。

当我执行“ git push”时,会得到403错误。它有正确的 URL。我尝试了一个“ git 凭证-osxkeychain get”来查看它输出了什么,结果打印出了错误的凭证。

我相信这是他们第一次申请证件,我以为是另一份申请,结果放错了。

我只需要重新设置它,让它为我的 GitHub 帐户使用正确的密钥链项目。

我试过了:

git credential-osxkeychain erase
git credential-osxkeychain set

程序从不提示。如果我没有做正确的事情,Set 会说“ bad input”。我试着输入“ password=password”,等等,但是当我输入“ get”时,我仍然得到旧的。

我不知道这些东西放在哪里,因为它们不在里面。Gitconfigure.此外,没有最近的钥匙链项目,可能是它。(我的密钥链中有几个 GitHub 帐户,但它没有使用其中任何一个。)

238636 次浏览

试试运行 /Applications/Utilities/Keychain Access

我不确定如何通过命令行擦除,但通过钥匙链访问应用程序相当容易做到这一点。打开应用程序-> 实用程序-> 钥匙链接,然后输入“ github.com”。您可以删除无效的项目或更新与应用程序的密码。

解决办法是这样的:

命令 git credential-osxkeychain在我的密钥链中使用了 第一 GitHub 帐户条目。这个人不是能接触到那些项目的人。

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

对多个 GitHub 帐户提供更好的支持固然很好,但是很可能大多数人只有一个主帐户,因此不会遇到这个问题。

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

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

由码头: (你需要输入以下三行)

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

注意: 在上面输入“ protocol = https”后,您需要按 ~ ~ RETURN ~ ~ TWICE (每个‘ something’相当于一个‘ press enter/RETURN’)

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

或从 申请表公共设施钥匙链访问手动移除钥匙链。然后删除 github.com 的钥匙链。然后使用 push; 它将请求访问密钥链; 然后拒绝。

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

git push之后,我发现了这个错误 问题:

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

在命令行中尝试这样做。

git config --local credential.helper ""

每次当我在 OSX 密钥链中有多个 GitHub 帐户时,它都会为我工作

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

Image

裁判 https://docs.github.com/en/github/getting-started-with-github/updating-credentials-from-the-macos-keychain