我试图在github上传我的回购并完成所有步骤:
git push -u origin master
在那一点上它给了我以下错误:
remote:samrao2 / manager-4.git的权限被拒绝给samrao1。
致命:无法访问' https://github.com/samrao2/manager-4.git/': 请求的URL返回错误:403
我认为问题是我在#s; samrao1"之前登录了另一个Git帐户。现在我正在努力推进" samrao2"。
有人可以帮我重置一下,我可以成功地推送到#s; samrao2"。我假设我第一次尝试这样做时会提示我输入密码。
答案 0 :(得分:38)
无法访问https意味着:这与SSH无关(并且切换到SSH,尽管可能,但没有解释原始问题)
这与凭证缓存有关,这意味着当您尝试推送到新帐户时,Git将默认提供旧帐户的凭据(GitHub帐户和密码)。
查看您是否有 credential helper 缓存了用于对您进行身份验证的(旧帐户)凭据(用户名/密码)。
git config credential.helper
在Mac上,commented为Arpit J,只需转到/打开您的钥匙串访问权限 - >搜索github.com相关文件>并在那里修改凭据。
请参阅“Updating credentials from the OSX Keychain”
例如,在Windows上,这将是Windows Credential Managers 打开Windows凭据存储,查看第一个用户是否在那里注册:删除该条目,您将能够与第二个用户进行身份验证。
(这是BitBucket的一个例子)
答案 1 :(得分:2)
我不确定问题是什么,但是因为你提到不知道安装了什么"正确的键"意味着,我将假设您没有将计算机设置为通过SSH对Github存储库进行身份验证。
本指南应告诉您如何执行此操作:Adding a new SSH key to your Github account
另外,我建议使用' git://github.com/samrao2/manager-4.git/'对于您的远程网址而不是' https://github.com/samrao2/manager-4.git/'。后者要求您每次输入密码,而前者将通过SSH进行身份验证,这远没有那么令人恼火。您可以通过键入:
来更改存储库中的远程URL以使用git协议而不是httpsgit remote set-url origin git://github.com/samrao2/manager-4.git
来自项目目录。
答案 2 :(得分:1)
如果您使用的是MacOS,则可以
那你就准备好了!
答案 3 :(得分:1)
问题是您试图使用旧github帐户的ssh密钥推入新的github帐户,因此请使用此链接https://help.github.com/en/github/authenticating-to-github/error-permission-to-userrepo-denied-to-userother-repo为新github帐户生成一个新的SSH密钥,然后将其添加到您的github帐户中。尝试推送后,它就可以使用
答案 4 :(得分:0)
多个用户生成了自己的ssh密钥Generating a new SSH key and adding it to the ssh-agent
Alice 存储库, git bash :
git config user.name "Alice"
git config user.email "alice@email.com"
eval $(ssh-agent -s)
,ssh-add ~/.ssh/alice.private
ssh -T git@github.com
,测试您的SSH连接鲍勃存储库, git bash :
git config user.name "Bob"
git config user.email "bob@email.com"
eval $(ssh-agent -s)
,ssh-add ~/.ssh/bob.private
ssh -T git@github.com
,测试您的SSH连接答案 5 :(得分:0)
我在 Github 有一个个人帐户和一个企业帐户。我同时向两个帐户提交和推送更改。
我所做的是 1) 在不同的会议上运行个人和商业项目; 2) 使用SSH链接为一个帐户设置URL,并为另一个帐户保留URL正常(HTTPS)。
答案 6 :(得分:-1)
从项目目录中删除 .git 文件夹,然后再次从头开始推送它们对我有用。