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

uklbhaso  于 2022-12-17  发布在  Git
关注(0)|答案(9)|浏览(204)

我已经按照GitHub的说明设置了我的账户,我可以克隆,但我不能远程推送。
当我执行“git push”时,我得到了403错误。它有正确的URL。我尝试了“git credential-osxkeychain get”来查看它给出了什么,但它打印出了错误的凭据。
我相信发生的事情是它第一次要求凭据,我以为是另一个应用程序要求,它把错误的。
我只需要重置它,使它使用正确的钥匙链项目为我的GitHub帐户。
我试过了

git credential-osxkeychain erase
git credential-osxkeychain set

程序从来不给出任何提示。如果我没有做正确的事情,Set会说“bad input”。我试着输入“password=password“等,但当我输入“get”时,我仍然得到旧的。
我不知道它们被存放在哪里,因为它们不在. gitconfigure中。此外,也没有最近的钥匙链项目可能是它。(我的钥匙链中有几个GitHub帐户,它没有使用其中任何一个。

iyfamqjs

iyfamqjs1#

从航站楼:(您需要输入以下三行)

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

注意:在上面输入“protocol=https”后,您需要按~~回车键~~两次(每个“"相当于一次”按回车键/回车键“)

yptwkmov

yptwkmov2#

我不知道如何通过命令行擦除,但通过Keychain Access应用程序很容易做到。只需进入应用程序-〉实用程序-〉Keychain Access,然后输入“github.com“。您可以删除无效项目或使用应用程序更新密码。

kse8i1jr

kse8i1jr3#

解决办法是这样的:
命令git credential-osxkeychain使用了我钥匙链中的 first GitHub帐户条目。这个帐户条目不是有权访问相关项目的帐户条目。
我解决了这个问题,在Keychain Access中触摸了这个账户,使其日期发生了变化(我想我只是改变了评论),现在它成为了最新的GitHub账户,它成为了第一个返回到credential-osxkeychain的账户,因此一切都正常了。
支持多个GitHub账户的更好的形式是很好的,但是很可能大多数人只有一个主账户,不会遇到这个问题。

dz6r00yl

dz6r00yl4#

在命令行中尝试此操作。
git config --local credential.helper ""
每当我在OSX钥匙链中有多个GitHub帐户时,它都能为我工作

eagi6jfj

eagi6jfj5#

在Mac上,使用命令git credential-osxkeychain erase
或者从 * 应用程序 * → * 实用程序 * → * 钥匙串访问 * 手动删除钥匙串。然后删除github.com钥匙串。然后使用推送;它将请求密钥链访问;然后否认。
它将要求新的用户名和密码,添加它,然后推一个文件。

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

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

44u64gxh

44u64gxh6#

git-credential-osxkeychain将密码存储在Apple Keychain中,如上所述。
默认情况下,gitcredentials只考虑域名。如果你想让Git考虑完整路径(例如你有多个GitHub账户),请将useHttpPath变量设置为true,如http://git-scm.com/docs/gitcredentials.html中所述。注意,更改此设置将再次询问每个URL的凭据。

ztyzrc3y

ztyzrc3y9#

请尝试运行/Applications/Utilities/Keychain Access

相关问题