J'ai un utilisateur git global configuré, mais je veux utiliser un autre utilisateur pour un seul projet git.
Dans ce projet, j'ai utilisé git config --local user.name "localuser"
et git config --local user.email "[email protected]"
pour définir l'utilisateur et l'adresse e-mail du projet local.
Cependant, lorsque j'essaie de pousser sur ma télécommande sur github, j'obtiens cette erreur:
remote: Permission to localuser/repo.git denied to globaluser.
fatal: unable to access 'https://github.com/localuser/repo.git/': The requested URL returned error: 403
Voici quelques résultats qui pourraient aider au diagnostic:
git remote -v
:
github https://github.com/localuser/repo.git (fetch)
github https://github.com/localuser/repo.git (Push)
git config --list
:
user.name=globaluser
[email protected]
...
git config --local --list
:
user.name=localuser
[email protected]
...
git config user.name
:
localuser
J'avais commis mes modifications et reçu une autorisation refusée avec mon utilisateur global. La définition ultérieure de l'utilisateur local n'a rien fait, bien que git config user.name
a signalé le bon utilisateur local.
Ce qui a fonctionné a été ( avec l'aimable autorisation de ce fil Google Groupes) :
git commit --amend --reset-author
Je suppose que les modifications engagées avaient l'auteur original joint.
Si vous travaillez sur OSX avec GitHub, cela pourrait être un problème de certificat. Votre certificat GitHub, qui se souvient de votre user.name et user.email, remplace les paramètres de configuration locaux. Une façon de le résoudre consiste à accéder à votre trousseau et à supprimer le certificat GitHub.
J'ai essayé de nombreuses façons, j'ai passé de nombreuses heures mais rien n'a fonctionné. J'ai finalement dû effacer tout l'utilisateur:
git config --local --unset credential.helper
git config --global --unset credential.helper
git config --system --unset credential.helper
On me demande maintenant à nouveau mes informations d'identification GitHub sur Push et je peux fournir l'ID utilisateur et le mot de passe corrects :)
Si vous utilisez Windows, il peut également être supprimé en allant à Control Panel\User Accounts\Credential Manager