我已按照GitHub说明设置我的帐户,我可以克隆,但我无法远程推送。
当我执行“git push”时,我收到403错误。它具有正确的URL。我尝试了一个“git credential-osxkeychain get”来查看它给出的内容,并打印出错误的凭据。
我相信发生的事情是它第一次要求提供凭据,我认为这是另一个应用程序要求,并且它将错误的提交。
我只需要重置它,以便它为我的GitHub帐户使用正确的钥匙串项。
我试过了:
git credential-osxkeychain erase
git credential-osxkeychain set
该程序从不给出任何提示。如果我不做正确的话,Set会说“输入错误”。我尝试输入“password=password
”等,但是当我做“获取”时,我仍然会得到旧的。
我无法弄清楚这些存储的位置,因为它们不在.gitconfigure中。此外,最近没有钥匙链项目可能是它。 (我的钥匙串中有几个GitHub帐户,它没有使用任何帐户。)
答案 0 :(得分:79)
从终端:
$ git credential-osxkeychain erase
host=github.com
protocol=https
<press return>
注意:输入上面的“protocol = https”后你需要按~~ RETURN ~~ TWICE
答案 1 :(得分:59)
我不确定如何通过命令行擦除,但通过Keychain Access应用程序可以轻松完成。只需转到应用程序 - &gt;实用工具 - &gt; Keychain Access,然后输入“github.com”。您可以删除无效项目或使用该应用程序更新密码。
答案 2 :(得分:24)
解决方案原来是这样的:
命令git credential-osxkeychain
在我的钥匙串中使用了第一个 GitHub帐户条目。这个人不是那个可以访问有关项目的人。
我通过触摸Keychain Access中的帐户来解决问题,以便更改日期(我想我刚刚更改了评论),现在它成为最新的GitHub帐户,它成为第一个返回到凭证-osxkeychain的帐户,并且一切顺利。
对多个GitHub帐户提供更好的支持形式会很好,但很可能大多数人只有一个主帐户而且不会遇到这个问题。
答案 3 :(得分:10)
git-credential-osxkeychain将密码存储在Apple Keychain中,如上所述。
默认情况下,gitcredentials仅考虑域名。如果您希望Git考虑完整路径(例如,如果您有多个GitHub帐户),请将useHttpPath
变量设置为true
,如http://git-scm.com/docs/gitcredentials.html所述。请注意,更改此设置将再次询问您的凭据以获取每个网址。
答案 4 :(得分:5)
在Mac上,使用命令git credential-osxkeychain erase
。
或者从应用程序→实用程序→钥匙串访问中手动从钥匙串中删除。然后删除github.com钥匙串。然后用push;它会要求钥匙串访问;然后否认。
它将要求输入新的用户名和密码,然后添加它然后按下该文件。
git push
后发现此错误。然后我使用大写 -
问题:强>
remote:对user1 / file.git的权限被拒绝给用户2(以前存在 用户)。致命:无法访问&#39; https://github.com/xxxxxxxxxxxx/&#39;: 请求的URL返回错误:403
答案 5 :(得分:4)
尝试运行/Applications/Utilities/Keychain Access
。
答案 6 :(得分:4)
答案 7 :(得分:4)
在命令行中试试这个。
git config --local credential.helper ""
每当我在 OSX 钥匙串中有多个 GitHub 帐户时,它都对我有用
答案 8 :(得分:0)
您可以通过“钥匙串访问”删除现有凭据并添加新凭据