身份验证问题,多个用户,git,github,终端,osx

时间:2016-05-13 19:44:59

标签: git macos authentication github credentials

我无法将更改推送到github上的远程存储库。我收到此身份验证错误:

  

remote:对newuser / repository.git的权限被拒绝给olduser。   致命的:无法进入   ' https://github.com/newuser/repository.git/':请求的网址   返回错误:403

(我替换了我的实际用户名和存储库) 我正在将项目迁移到新帐户,而git正在尝试使用我的旧用户凭据进行身份验证。 我取消了全局' user.name' (这是' olduser')并设置了一个本地' user.name'到了' newuser'。现在我的配置看起来像这样:

core.editor=Sublime
filter.lfs.clean=git-lfs clean %f
filter.lfs.smudge=git-lfs smudge %f
filter.lfs.required=true
push.default=simple
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true
core.ignorecase=true
core.precomposeunicode=true
remote.origin.url=https://github.com/newuser/repository.git
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
branch.master.remote=origin
branch.master.merge=refs/heads/master
user.name=newuser

我也试图添加一个osxkeychain作为凭证助手,但我不认为这可以解决任何问题。我不知道如何解决这个问题。

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

git config user.name与身份验证无关。它只能在提交时帮助设置正确的作者/提交者。

Updating credentials from the OSX Keychain可以提供帮助,但您需要确保git在推送时会使用新的用户名。

确保将新用户名嵌入推送网址的技巧:

cd /path/to/my/repo
git remote set-url origin https://username@github.com/username/repository.git

然后再试一次。