关于git:GitHub在可怕的权限错误中从哪里读取用户名/帐户?

Where does GitHub read usernames/accounts from in the dreaded permission error?

当您将本地更改推送到GitHub时,在终端上,Git在推送时会给出以下错误:

1
remote: Permission to someorg/somerepo.git denied to someuser.

…从何处读取或派生someuser?哪个配置文件?


where is someuser being read or derived from? Which config file?

当您为push连接到Github时,必须对自己进行身份验证。有几种方法可以做到这一点,但您还没有显示正在使用哪一种方法。(请注意,与GitHub的其他连接也可能需要身份验证,这取决于存储库是否是公共的。)

如果您通过https://进行身份验证,git将使用各种凭证帮助器,这些帮助器可以存储用户名和/或密码。您可以配置要使用的凭据助手,包括使用不同附加数据的"缓存"和"存储"助手。请注意,可用的凭据帮助器集也会根据基础操作系统的不同而有所不同。

如果您在ssh://上进行身份验证,您总是要求github使用用户名[email protected],实际用户ID由github根据您提供的ssh密钥确定。每个键都有一个(单个)用户与其关联。

[编辑添加]使用git remote show origin显示origin的获取和推送URL:

1
2
3
4
$ git remote show origin
* remote origin
  Fetch URL: [email protected]:path/to/repo.git
  Push  URL: [email protected]:path/to/repo.git

如果URL以[email protected]:ssh://[email protected]/开头,则表示您使用的是ssh。如果URL以https://github.com/开头,则表示您使用的是https。

有关更多基础知识和链接,请参阅GitHub安装帮助页。