我已经按照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帐户,它没有使用其中任何一个。
9条答案
按热度按时间iyfamqjs1#
从航站楼:(您需要输入以下三行)
注意:在上面输入“protocol=https”后,您需要按~~回车键~~两次(每个“"相当于一次”按回车键/回车键“)
yptwkmov2#
我不知道如何通过命令行擦除,但通过Keychain Access应用程序很容易做到。只需进入应用程序-〉实用程序-〉Keychain Access,然后输入“github.com“。您可以删除无效项目或使用应用程序更新密码。
kse8i1jr3#
解决办法是这样的:
命令
git credential-osxkeychain
使用了我钥匙链中的 first GitHub帐户条目。这个帐户条目不是有权访问相关项目的帐户条目。我解决了这个问题,在Keychain Access中触摸了这个账户,使其日期发生了变化(我想我只是改变了评论),现在它成为了最新的GitHub账户,它成为了第一个返回到credential-osxkeychain的账户,因此一切都正常了。
支持多个GitHub账户的更好的形式是很好的,但是很可能大多数人只有一个主账户,不会遇到这个问题。
dz6r00yl4#
在命令行中尝试此操作。
git config --local credential.helper ""
每当我在OSX钥匙链中有多个GitHub帐户时,它都能为我工作
eagi6jfj5#
在Mac上,使用命令
git credential-osxkeychain erase
。或者从 * 应用程序 * → * 实用程序 * → * 钥匙串访问 * 手动删除钥匙串。然后删除github.com钥匙串。然后使用推送;它将请求密钥链访问;然后否认。
它将要求新的用户名和密码,添加它,然后推一个文件。
在
git push
之后我发现了这个错误。然后我使用大写-问题:remote:user 2(以前存在的用户)对user1/file.git的权限被拒绝。致命错误:无法访问“https://github.com/xxxxxxxxxxxx/”:请求的URL返回错误:403
44u64gxh6#
git-credential-osxkeychain将密码存储在Apple Keychain中,如上所述。
默认情况下,gitcredentials只考虑域名。如果你想让Git考虑完整路径(例如你有多个GitHub账户),请将
useHttpPath
变量设置为true
,如http://git-scm.com/docs/gitcredentials.html中所述。注意,更改此设置将再次询问每个URL的凭据。68bkxrlz7#
您可以删除现有的凭据和添加新的通过“钥匙串访问”
参考https://docs.github.com/en/github/getting-started-with-github/updating-credentials-from-the-macos-keychain
avwztpqn8#
此问题的GitHub帮助页面:https://help.github.com/articles/updating-credentials-from-the-osx-keychain/
ztyzrc3y9#
请尝试运行
/Applications/Utilities/Keychain Access
。