Git:错误:对用户的 repo.git 权限被拒绝

ayl*_*luo 5 ubuntu github

我无法通过 HTTPS 和 SSH 推送(但拉取工作正常)到我公司的 git 存储库,并且非常感谢这方面的任何帮助。这是一个与这里看到的类似的问题:(Git 著名的“错误:对 .git 的权限被拒绝给用户”)除了我正在推送到公司回购而不是个人回购 - 想知道这是否可能有什么事情要做有公司防火墙。

这是我所做的(在已经克隆了 repo 之后):

通过 SSH:

git remote set-url origin [SSH url of my company repo]
Run Code Online (Sandbox Code Playgroud)

设置我的 ssh 密钥并将其添加到我的用户帐户中;ssh 到 git@github.com 给了我权限被拒绝(公钥),但 ssh 到 git@git.soma.company.com 认证成功。

git pull
git push origin master
Run Code Online (Sandbox Code Playgroud)

这给了我:

错误:对用户的组织/repo.git 权限被拒绝。致命:远端意外挂断

通过 HTTPS:

git remote set-url origin [HTTPS url of my company repo]
git pull
git push origin master
Run Code Online (Sandbox Code Playgroud)

这提示我输入用户名和密码,然后给我:

错误:无法访问 URL [HTTPS url of my company repo],返回代码 22 致命:git-http-push failed

这是我的 .git/config 的内容:

[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
[remote "origin"]
fetch = +refs/heads/*:refs/remotes/origin/*
url = [HTTPS url of my company repo]
[branch "master"]
remote = origin
merge = refs/heads/master
Run Code Online (Sandbox Code Playgroud)

我已确认我已被添加为组织的合作者。删除自己并重新添加并没有解决问题,也没有删除我的 ssh 密钥并生成新密钥并将它们添加到我的帐户中。我还尝试删除我的整个用户帐户并从头开始设置,以前曾经解决过这个问题,但现在似乎不起作用并产生相同的错误。

一件事是,这个问题最初是在我设置对 repo 的 git 访问权限时发生的,我通过删除我的用户帐户并重新设置来解决它。在接下来的 2 个月里,我能够成功地通过 HTTPS 推送到 repo,没有问题。在团队成员设置访问权限并推送一些代码后,这些错误再次出现;这可能是问题的根源吗?

如果有人能帮助我,我将永远感激不尽。

Anu*_*war 5

发生此错误是因为 github 用户帐户的冲突,这意味着可能其他人访问了他的 github 帐户并错误地 将他的密码与您的 github 详细信息一起保存

现在,每次你尝试推送到一个 repo 时,github 都会面临冲突。

所以解决办法是。 如果您是 mac 用户

  1. 打开您的启动板并搜索钥匙串访问。
  2. 现在从钥匙串帐户中删除您的 github 凭据。
  3. 推送到您的仓库并添加您的帐户详细信息。

对于其他系统 尝试使用钥匙串访问应用程序代替:

https://help.github.com/articles/updating-credentials-from-the-osx-keychain/#updating-your-credentials-via-keychain-access


ayl*_*luo 1

刚刚意识到我从未跟进此事:

我通过以下方式解决了这个问题:

  • 使用队友的凭据登录,
  • 删除,以及
  • 将我自己重新添加为存储库的所有者。