OSX:git:remote:拒绝用户/ repo对其他用户的权限

时间:2016-11-22 10:11:36

标签: git macos authentication github

我正在尝试将新的repo推送到github并因为git缓存了meatwork凭据而无法这样做。

$ git push -u origin master
remote: Permission to me/me.github.io.git denied to meatwork.

经过一番挖掘后,我想也许是credential.helper是问题所在,所以我试图删除它git config仍然返回osxkeychain,即使我已经删除了所有设置。

$ git config --system credential.helper 
$ git config --global credential.helper 
$ git config --local credential.helper 
$ git config credential.helper
osxkeychain
$ 

还看了git credential-osxkeychain,但它只是挂起

$ git credential-osxkeychain get

所以无论如何回到原来的问题,如何指定或覆盖或重置push使用的默认用户。我检查了user.nameuser.email设置,并将其设置为正确的用户(不是meatwork)。

$ git config --local user.name
$ git config --global user.name
me
$ git config --system user.name
$ git config --local user.email
$ git config --global user.email
me@myhome.com
$ git config --system user.email

那么git从哪里获取meatwork凭据以及如何阻止它。

3 个答案:

答案 0 :(得分:7)

这里的问题相同,我的解决方案是(在Mac上):

  1. 打开 Keychain Access app。
  2. 搜索 github.com
  3. 删除其他用户的信息
  4. 看看它现在是否有效。

    我的情况是,有人使用我的Mac登录他的Github,Mac记得他的名字和密码,这就是为什么拒绝他的原因......

    -

    参考:Updating credentials from the OSX Keychain | Github Help

答案 1 :(得分:5)

嗯,问题的第二部分的简单答案归功于此处的提示https://git-scm.com/docs/gitcredentials

将克隆存储库的credential.username属性设置为我想要使用的用户名就可以了。

$ git config credential.username me

现在我的推动工作了!我仍然不知道肉食的来源。

或者,修改.git/config并在网址中更改[remote "origin"] url=以包含username@也可以。

[remote "origin"]
  url = https://me@github.com/Me/me.github.io.git

答案 2 :(得分:0)

我有完全相同的问题,但是在Windows OS / 10中。要解决这个问题,我需要去Credential Manager并删除旧用户的所有凭据。

当我在Git Bash上运行命令时:

git push origin master

我有一个屏幕询问我的GitHub凭据。填写登录/密码后,它就可以了。