Github远程权限被拒绝

Sam*_*Rao 23 git github

我正在尝试在github上传我的repo并完成所有步骤:

git push -u origin master

那时它给了我以下错误:

remote:允许samrao2/manager-4.git拒绝samrao1.

致命:无法访问' https://github.com/samrao2/manager-4.git/ ':请求的URL返回错误:403

我认为问题是我在"samrao1"之前登录了另一个Git帐户,现在我正在尝试推送到"samrao2".

有人可以帮助我重置到我可以成功推送到"samrao2"的地方.我假设我第一次尝试这样做时会提示我输入密码.

Von*_*onC 48

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

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

查看您是否拥有可以缓存用于对您进行身份验证的(旧帐户)凭据(用户名/密码)的凭据帮助程序.

git config credential.helper 
Run Code Online (Sandbox Code Playgroud)

在Mac上,如评论ArpitĴ,只是转到/打开钥匙串访问- >搜索github.com相关的文件- >和编辑凭据那里.

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

请参阅" 从OSX Keychain更新凭据 "

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

(这是BitBucket的一个例子)

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

  • 谢谢!!对于 MacOS 上的 ppl,只需转到/打开您的钥匙串访问 -> 搜索 github.com 相关文件 -> 并在那里编辑凭据。有时它会使用默认的登录帐户并将其存储在那里。 (2认同)
  • @ArpitJ。谢谢。我已将您的评论包含在答案中,以提高知名度。 (2认同)

cod*_*CPA 41

通过更新我的用户名和凭据解决了此错误:

git config user.name "new name"
git config credential.username "new name"
Run Code Online (Sandbox Code Playgroud)


小智 13

Here 403 (error) means credentials errors or that you don\xe2\x80\x99t have permission to push.

\n

Solution

\n

For Windows

\n

click on window button > credential manager > Windows credentials > Generic credentials

\n

Next, remove or edit the Github keys.

\n

For Mac

\n

1-在 Finder 中,搜索“钥匙串访问”应用程序。

\n

2在“钥匙串访问”中,搜索 github.com。

\n

3-找到 github.com 的“互联网密码”条目。

\n

4-相应地编辑或删除条目。

\n


小智 10

我遇到了同样的问题,我已经使用以下命令解决了

git config --global credential.useHttpPath true


小智 9

感谢VonC的回答。

要简化并添加到其中,可以按照以下简单步骤操作:

  1. 从 (Windows) 凭据管理器中删除所有 GitHub 条目
  2. 在 Git 全局配置中设置 useHttpPath = true

git config --global credential.useHttpPath true

您可以通过检查来验证这一点

git config --global -e

这将为每个用户帐户创建不同的条目。


Nov*_*vus 8

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

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

那么你就准备好了!


山茶树*_*葡萄树 8

  1. 多个用户生成自己的 ssh 密钥,生成新的 SSH 密钥并将其添加到 ssh-agent

  2. 将新的 SSH 密钥添加到您的 GitHub 帐户

  3. 爱丽丝存储库,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其他操作
  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 连接
    • Git其他操作


Ted*_*ddy 7

我遇到了类似的问题,发现了您需要验证的两件事:

  1. 上面已经充分讨论了钥匙链问题;
  2. Git 最近停止使用密码,您需要生成个人访问令牌。注意这一点很重要,也是我遇到的问题的根源,在创建令牌时,请确保在开发人员选项下向 Github 上的令牌授予权限。

开发者选项下的权限范围


小智 6

我不确定问题是什么,但由于您提到不知道“安装正确的密钥”意味着什么,我假设您尚未设置您的计算机以通过 SSH 对您的 Github 存储库进行身份验证。

本指南应向您展示如何执行此操作: 向您的 Github 帐户添加新的 SSH 密钥

另外,我建议对远程 URL 使用“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
Run Code Online (Sandbox Code Playgroud)

从您的项目目录中。