我无法通过 HTTPS 和 SSH 推送(但 pull 可以正常工作)到我公司的 git 存储库,并且非常感谢任何帮助。这是一个与这里看到的问题类似的问题:(Git 著名的“错误:.git 的权限拒绝用户”)除了我正在推送到公司回购而不是个人回购——想知道这是否可能有事可做带有公司防火墙。
这是我所做的(在已经克隆了 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。在团队成员设置访问权限并推送一些代码后,这些错误再次出现;这可能是问题的根源吗?
如果有人可以帮助我,我将永远感激不尽。