身份验证问题,多个用户,git,git集线器,终端,osx

Authentication problems, multiple users, git, github, terminal, osx

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

remote: Permission to newuser/repository.git denied to olduser. fatal: unable to access 'https://github.com/newuser/repository.git/': The requested URL returned error: 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 作为凭据助手,但我认为这没有解决任何问题。我不知道如何解决这个问题。

感谢您的帮助!

git config user.name与认证无关。它只有助于在提交时设置正确的 author/committer。

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

确保这一点的一个技巧是将新用户名嵌入到推送中 url:

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

然后再尝试推送。