Github远程权限被拒绝

时间:2017-11-24 02:43:05

标签: git github

我试图在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"。我假设我第一次尝试这样做时会提示我输入密码。

7 个答案:

答案 0 :(得分:38)

无法访问https意味着:这与SSH无关(并且切换到SSH,尽管可能,但没有解释原始问题)

这与凭证缓存有关,这意味着当您尝试推送到新帐户时,Git将默认提供旧帐户的凭据(GitHub帐户和密码)。

查看您是否有 credential helper 缓存了用于对您进行身份验证的(旧帐户)凭据(用户名/密码)。

git config credential.helper 

在Mac上,commentedArpit J,只需转到/打开您的钥匙串访问权限 - >搜索github.com相关文件>并在那里修改凭据。

https://help.github.com/assets/images/help/setup/keychain-access.png

请参阅“Updating credentials from the OSX Keychain

例如,在Windows上,这将是Windows Credential Managers 打开Windows凭据存储,查看第一个用户是否在那里注册:删除该条目,您将能够与第二个用户进行身份验证。

(这是BitBucket的一个例子)

https://kwilson.io/blog/wp-content/uploads/2015/01/4-store.png

答案 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协议而不是https
git remote set-url origin git://github.com/samrao2/manager-4.git

来自项目目录。

答案 2 :(得分:1)

如果您使用的是MacOS,则可以

  1. 转到KeyChain访问,
  2. 搜索“ GitHub”,
  3. 然后弹出结果“ github.com”,将帐户或密码更改为您的新帐户,然后保存。

那你就准备好了!

答案 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)

  1. 多个用户生成了自己的ssh密钥Generating a new SSH key and adding it to the ssh-agent

  2. Adding a new SSH key to your GitHub account

  3. 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连接
    • 进行其他操作
  4. 鲍勃存储库, 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 文件夹,然后再次从头开始推送它们对我有用。