我配置了一个全局git用户,但是想为一个git项目使用不同的用户。
在该项目中,我使用git config --local user.name "localuser"
和git config --local user.email "localuser@example.com"
来设置本地项目的用户和电子邮件。
但是,当我尝试在github上推送到我的遥控器时,我收到了这个错误:
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
以下是一些可能有助于诊断的输出:
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
user.email=globaluser@example.com
...
git config --local --list
:
user.name=localuser
user.email=localuser@example.com
...
git config user.name
:
localuser
答案 0 :(得分:15)
我已提交更改并收到了我的全局用户拒绝的权限。随后设置本地用户没有做任何事情,尽管git config user.name
报告了正确的本地用户。
有效的是(courtesy of this google groups thread):
git commit --amend --reset-author
我认为已提交的更改已附加原作者。
答案 1 :(得分:6)
如果您正在使用GitHub处理OSX,则可能是证书问题。您的GitHub证书会记住您的user.name和user.email,它会覆盖本地配置设置。解决问题的一种方法是转到您的钥匙串并删除GitHub证书。
答案 2 :(得分:3)
尝试了许多方法,花费了很多时间,但没有任何效果。我最终不得不清除所有用户:
git config --local --unset credential.helper
git config --global --unset credential.helper
git config --system --unset credential.helper
现在,我再次要求我提供GitHub凭据,并且可以提供正确的用户ID和密码:)
如果使用Windows,则也可以通过转到Control Panel\User Accounts\Credential Manager