I have two accounts on Github (let's say they are a1
and a2
). With my a2
profile, I created an origanization and a new repository for it (from Github's website). My computer has the following ~/.gitconfig
file:
[core]
editor = pico
[user]
name = a1
email = [email protected]
(because most of the time I use my a1
account).
Now I wanted to work on the repository of the organisation I created with a2
so I did the following:
cd project_folder
touch README.md
git init
git config --local user.name a2
git config --local user.email "[email protected]"
git add README.md
git commit -m "first commit"
git remote add origin https://github.com/myorganisation/myrepo.git
Then, just to be sure my commit was done by a2
, I did git log
, obtaining:
commit e8dd182a12023a490cb2f099ea8b3a94afe6b81b
Author: a2 <[email protected]>
Date: Wed Dec 14 17:12:10 2016 +0100
first commit
Great. But when I tried to git push -u origin master
, I got a 403 message saying that I was trying to push as 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
Did I forget something? Why does Github thinks I'm a1
even after I'v configured my local repository with the a2
account?
From github documentation:
If this is your case, On MacOS, your credentials will be stored in your keychain. You can confirm this by running the following command:
See if you have
credential.helper
set toosxkeychain
.The easiest way to force Git to ask for your github credentials is to go to your keychain and remove there all Github entries.