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

Aus*_*nce 6 git authentication macos github

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

$ git push -u origin master
remote: Permission to me/me.github.io.git denied to meatwork.
Run Code Online (Sandbox Code Playgroud)

经过一些挖掘,我想也许credential.helper是问题,所以我试图删除它位git配置仍返回osxkeychain即使我已删除所有设置.

$ git config --system credential.helper 
$ git config --global credential.helper 
$ git config --local credential.helper 
$ git config credential.helper
osxkeychain
$ 
Run Code Online (Sandbox Code Playgroud)

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

$ git credential-osxkeychain get
Run Code Online (Sandbox Code Playgroud)

所以无论如何回到原来的问题,如何指定或覆盖或重置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
Run Code Online (Sandbox Code Playgroud)

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

lle*_*iou 8

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

  1. 打开Keychain Access应用程序.
  2. 搜索github.com
  3. 删除其他用户的信息

看看它现在是否有效.

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

-

参考:从OSX Keychain更新凭证| Github帮助


Aus*_*nce 6

好吧,我的问题的第二部分的简单答案归功于这里的提示https://git-scm.com/docs/gitcredentials

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

$ git config credential.username me
Run Code Online (Sandbox Code Playgroud)

现在,我的推动工作!我仍然不知道肉食来自哪里.

或者,编辑.git/config和更改URL中的[remote "origin"] url=包含username@也可以.

[remote "origin"]
  url = https://me@github.com/Me/me.github.io.git
Run Code Online (Sandbox Code Playgroud)