【问题标题】:Git: permission to [organization] denied to [user]Git:[组织]的权限被拒绝给[用户]
【发布时间】:2017-04-30 01:35:02
【问题描述】:

我在 Github 上有两个帐户(假设它们是 a1a2)。使用我的a2 个人资料,我为它创建了一个组织和一个新的存储库(来自 Github 的网站)。我的电脑有以下~/.gitconfig 文件:

[core]
    editor = pico
[user]
    name = a1
    email = mail_a1@example.com

(因为大部分时间我使用我的a1 帐户)。

现在我想处理我用a2 创建的组织的存储库,所以我做了以下事情:

cd project_folder
touch README.md
git init
git config --local user.name a2
git config --local user.email "mail_a2@example.com"
git add README.md
git commit -m "first commit"
git remote add origin https://github.com/myorganisation/myrepo.git

然后,为了确保我的提交是由a2 完成的,我做了git log,获得:

commit e8dd182a12023a490cb2f099ea8b3a94afe6b81b
Author: a2 <mail_a2@example.com>
Date:   Wed Dec 14 17:12:10 2016 +0100

    first commit

太好了。但是当我尝试git push -u origin master 时,我收到一条 403 消息,说我正在尝试以a1 推送:

remote: Permission to hivex-unipd/swedesigner.git denied to gigiobello.
fatal: unable to access 'https://github.com/myorganisation/myrepo.git/': The requested URL returned error: 403

我是不是忘记了什么? 为什么 Github 认为我是 a1,即使我已经使用 a2 帐户配置了我的本地存储库?

【问题讨论】:

  • 当您尝试执行push 时,它是否要求您进行身份验证?有没有可能你用过credential helper to cache your github password
  • 它没有要求我进行身份验证,但是当我输入 git config --list 时,我可以看到 credential.helper 设置为 osxkeychain(我在 Mac 上)。
  • 您是否尝试过进入钥匙串并删除所有 github 凭据(考虑到您知道您的凭据并且可以在没有钥匙串的情况下登录),重新启动机器,并检查您下次尝试时是否会被要求提供凭据做push?
  • 您的链接很有帮助,谢谢!我必须更新 Keychain Access 中的密钥(实际上是我删除了它),所以现在 Git 要求我输入用户名和密码,push 按预期工作。
  • 酷,我会把它全部作为答案发布,所以你可以接受并关闭这个问题

标签: git github git-push git-config


【解决方案1】:

来自 github 文档:

如果您使用 HTTPS 克隆 GitHub 存储库,您可以使用 credential helper 告诉 Git 每次都记住你的 GitHub 用户名和密码 它与 GitHub 对话。

如果是这种情况,在 MacOS 上,您的凭据将存储在您的钥匙串中。您可以通过运行以下命令来确认这一点:

git config --list

查看您是否将credential.helper 设置为osxkeychain

强制 Git 询问您的 github 凭据的最简单方法是转到您的钥匙串并删除那里的所有 Github 条目。

【讨论】:

    猜你喜欢
    • 2013-08-17
    • 2017-10-21
    • 2016-10-30
    • 2020-07-30
    • 2011-12-15
    • 1970-01-01
    • 2018-04-15
    • 2017-05-23
    • 2017-12-02
    相关资源
    最近更新 更多