Git: [组织] 的权限被 [用户] 拒绝

Git: permission to [organization] denied to [user]

我在 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 帐户配置了我的本地存储库?

来自 github 文档:

If you're cloning GitHub repositories using HTTPS, you can use a credential helper to tell Git to remember your GitHub username and password every time it talks to GitHub.

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

git config --list

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

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