【发布时间】:2013-08-17 04:30:16
【问题描述】:
我无法通过 HTTPS 和 SSH 推送(但 pull 工作正常)到我公司的 git 存储库,非常感谢您对此提供任何帮助。这是一个与此处看到的问题类似的问题:(Git's famous "ERROR: Permission to .git denied to user") 除了我正在推动公司回购而不是个人回购——想知道这是否与公司防火墙有关。
这是我所做的(在已经克隆了 repo 之后):
通过 SSH:
git remote set-url origin [SSH url of my company repo]
设置我的 ssh 密钥并将其添加到我的用户帐户; ssh 到 git@github.com 给了我权限被拒绝(公钥),但 ssh 到 git@git.soma.company.com 验证成功。
git pull
git push origin master
这给了我:
错误:组织/repo.git 的权限被拒绝给用户。 致命:远端意外挂断
通过 HTTPS:
git remote set-url origin [HTTPS url of my company repo]
git pull
git push origin master
提示我输入用户名和密码,然后给我:
错误:无法访问 URL [我公司 repo 的 HTTPS url],返回代码 22 致命:git-http-push 失败
这是我的 .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
我已确认我已被添加为该组织的合作者。删除我自己并重新添加并没有解决问题,删除我的 ssh 密钥并生成新密钥并将它们添加到我的帐户中也没有。我还尝试删除我的整个用户帐户并从头开始设置,以前曾解决过此问题,但现在似乎不起作用并产生相同的错误。
有一件事是,这个问题最初是在我设置对 repo 的 git 访问时发生的,我通过删除我的用户帐户并重新设置来解决它。在接下来的 2 个月里,我能够毫无问题地通过 HTTPS 成功推送到 repo。在团队成员设置访问权限并推送一些代码后,这些错误再次出现;这可能是问题的根源吗?
如果有人可以帮助我,我将永远感激不尽。
【问题讨论】: