Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
git推送错误:对<;的权限;回购>;拒绝<;用户>;_Git_Github_Ssh - Fatal编程技术网

git推送错误:对<;的权限;回购>;拒绝<;用户>;

git推送错误:对<;的权限;回购>;拒绝<;用户>;,git,github,ssh,Git,Github,Ssh,一个月前,我在mac上配置了两个github帐户:一个用于工作,另一个用于个人使用。 我已经用了一个月了,没有问题。在工作日提交/推送/等回购。晚上,在几次个人回购中提交/推送/等。 突然,今天我无法对我的一个个人帐户进行一些更改,错误是: git push --set-upstream origin <branch> ERROR: Permission to <repo>.git denied to <work-account>. fatal: Could

一个月前,我在mac上配置了两个github帐户:一个用于工作,另一个用于个人使用。 我已经用了一个月了,没有问题。在工作日提交/推送/等回购。晚上,在几次个人回购中提交/推送/等。 突然,今天我无法对我的一个个人帐户进行一些更改,错误是:

git push --set-upstream origin <branch>
ERROR: Permission to <repo>.git denied to <work-account>.
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
电子邮件是我的个人电子邮件,所以这是正确的

为什么git使用我的工作帐户?即使
git config
命令显示我的个人帐户? 而且,这几天前还在起作用

注2:

  • 我在~/.ssh目录中定义了两个帐户:id\u rsa、id\u rsa.pub、id\u rsa、id\u rsa.pub
  • 还定义了~/.ssh/config:

我不知道为什么它不再工作了…

检查您的配置文件中是否有任何pushURL配置,以检查它是否尝试使用您不期望的URL进行推送

注意:您可以测试的SSH URL是
githubpersonal
,而不是
git@githubpersonal
,因为git已经在
~/.ssh/config

ssh -Tv githubpersonal

检查配置文件中的任何pushURL配置,以检查它是否尝试使用您不期望的URL进行推送

注意:您可以测试的SSH URL是
githubpersonal
,而不是
git@githubpersonal
,因为git已经在
~/.ssh/config

ssh -Tv githubpersonal

git config
在这里什么也做不了;
user.name
user.email
设置仅存储在您所做的新提交中,否则与您的身份无关。由于您正在使用ssh,请尝试
ssh-vTgit@github.com
ssh-vT-git@
并查看您发送的是哪个或多个标识。好的,我认为有点不对,这是输出:(1)ssh-vTgit@github.com=>“您好!您已成功通过身份验证,…”,这是正确的。但是(2)ssh-vT git@或ssh-vT,输出与前面的“您好!您已经成功地进行了身份验证,…”相同,为什么两者都是工作帐户?是这样吗?(我想不是)它只是重新启动,很奇怪。尝试推送,没有错误!。运行ssh-vT,问候语使用的是个人帐户。
UseKeychain yes
表明您在Mac上。当您登录Mac时,您建立了一些密钥(运行
ssh add-l
查看它们),您的ssh将向其他系统提供这些密钥;显然,这些是GitHub用来识别您的。考虑在这里设置<代码>标识> <代码>设置,这样您就可以指示您的SSH保留一些密钥,只提供您在<代码>中列出的那些。SSH/CONFIG。
user.name
user.email
设置仅存储在您所做的新提交中,否则与您的身份无关。由于您正在使用ssh,请尝试
ssh-vTgit@github.com
ssh-vT-git@
并查看您发送的是哪个或多个标识。好的,我认为有点不对,这是输出:(1)ssh-vTgit@github.com=>“您好!您已成功通过身份验证,…”,这是正确的。但是(2)ssh-vT git@或ssh-vT,输出与前面的“您好!您已经成功地进行了身份验证,…”相同,为什么两者都是工作帐户?是这样吗?(我想不是)它只是重新启动,很奇怪。尝试推送,没有错误!。运行ssh-vT,问候语使用的是个人帐户。
UseKeychain yes
表明您在Mac上。当您登录Mac时,您建立了一些密钥(运行
ssh add-l
查看它们),您的ssh将向其他系统提供这些密钥;显然,这些是GitHub用来识别您的。考虑在这里设置<代码>标识> <代码>设置,这样您就可以指示您的SSH保留一些密钥,只提供您在<代码>中列出的那些。SSH/CONFIG。我不知道是否知道如何检查…我所做的就是使用command
git remote-v
,看起来还不错。此外,我已经检查了项目中的配置文件,它似乎也很好(您可以在notes 2中看到输出)。这就是我要检查的还是其他的?@M.G.just(在repo文件夹中)
git config-l
ah好的,我只要执行它,我就可以看到两个条目“user.email”:第一个是我的工作邮件,然后在另一个条目下面的几行是我的个人邮件。此外,条目“remote.origin.url”似乎是对的“git@:…”。我是否应该在工作电子邮件中删除“user.email”条目?我该怎么做?@M.G.不,一个被另一个覆盖:你可以通过
git config-l--show origin
看到哪个是哪个(下周,通过即将发布的git 2.26:
git config-l--show origin--show scope
:)我不知道如何检查。。。我所做的就是使用command
git remote-v
,看起来还不错。此外,我已经检查了项目中的配置文件,它似乎也很好(您可以在notes 2中看到输出)。这就是我要检查的还是其他的?@M.G.just(在repo文件夹中)
git config-l
ah好的,我只要执行它,我就可以看到两个条目“user.email”:第一个是我的工作邮件,然后在另一个条目下面的几行是我的个人邮件。此外,条目“remote.origin.url”似乎是对的“git@:…”。我是否应该在工作电子邮件中删除“user.email”条目?我该怎么做?@M.G.不,一个被另一个覆盖:你可以通过
git config-l--show origin
看到哪个是哪个(下周,通过即将发布的git 2.26:
git config-l--show origin--show scope
:)
[remote "origin"]
    url = git@<githubpersonal>:<personal_account>/<repo>.git
    fetch = +refs/heads/*:refs/remotes/origin/*
origin  git@<githubpersonal>:<personal_account>/<repo>.git (fetch)
origin  git@<githubpersonal>:<personal_account>/<repo>.git (push)
ssh -Tv githubpersonal