我无法通过HTTPS和SSH推送(但拉动工作正常)到我公司的git存储库,并且非常感谢任何帮助。这是一个与此处看到的类似的问题:(Git's famous "ERROR: Permission to .git denied to user")除了我正在推动公司回购而不是个人回购 - 想知道这是否与公司防火墙有关。
这就是我所做的(已经克隆了回购后):
git remote set-url origin [SSH url of my company repo]
设置我的ssh密钥并将其添加到我的用户帐户; ssh to git@github.com允许我拒绝(publickey),但ssh to git@git.soma.company.com成功验证。
git pull
git push origin master
这给了我:
错误:允许用户拒绝组织/ repo.git。 致命:远程端意外挂断
git remote set-url origin [HTTPS url of my company repo]
git pull
git push origin master
提示我输入用户名和密码然后给我:
错误:无法访问URL [我公司回购的HTTPS网址],返回代码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密钥并生成新密钥并将其添加到我的帐户。我也尝试删除我的整个用户帐户并从头开始设置,这曾解决过这个问题,但现在似乎没有用,并产生相同的错误。
有一件事是,这个问题最初是在我设置我的git访问repo时发生的,我通过删除我的用户帐户并重新设置来解决它。在接下来的两个月里,我能够成功地通过HTTPS推送到repo而没有任何问题。在团队成员建立访问权限并推送一些代码后,这些错误再次出现;这可能是问题的根源吗?
如果有人能帮助我,我会永远感激。
答案 0 :(得分:4)
由于github用户帐户的冲突而发生此错误,这意味着可能有其他人访问了他的github帐户,并且错误使用您的github详细信息保存了他的密码。
现在,每当你试图进入一个回购时,github就会面临碰撞。
所以解决方案是。 如果您是Mac用户
对于其他系统 请尝试使用Keychain Access应用程序:
答案 1 :(得分:1)
有多少人正在使用这个回购?根据您的描述,看起来每个人都使用相同的ssh用户名。它可能就是你对URL进行匿名化的方式,但如果每个人都使用相同的用户名,那么ssh可能会使用一个authorized_keys列表来确定哪些密钥有效。添加新用户后,您的ssh密钥可能已被替换,删除或从服务器上的授权密钥列表中省略。
答案 2 :(得分:1)
刚才意识到我从未跟进过这个:
我通过以下方式解决了这个问题: