我遇到了这个奇怪的问题,但我没有找到任何答案。
我确实在gitHub上推送,没问题。
在gitLab中,我遇到了这个问题:
$git推送起源开发rafael@gitlab.com:权限被拒绝(公钥,键盘交互(。致命:无法从远程存储库中读取。
请确保您拥有正确的访问权限
我确实:$ssh-Tgit@gitlab.com
欢迎来到GitLab,@barlera1989!(看起来效果不错(
然后:$ssh-Trafael@gitlab.com
rafael@gitlab.com:权限被拒绝(公钥,键盘交互(。(似乎不起作用(
我怀疑我试图用不同的电子邮件推送,就像我在做git推送时看到的那样。
可以检查/更改吗??
注意:我的gitlab SSH密钥很好!
我真的不知道发生了什么!任何帮助都将不胜感激!
谢谢!
commit电子邮件地址和git pull/push身份验证不是一回事。
不能将rafael@gitlab.com
用于Git推送。当通过SSH推送到GitLab时,SSH用户名始终是git
,而不是您的用户名。GitLab根据SSH密钥而不是用户名来识别您。
如果你已经为你的存储库设置了Git远程,那么如下更新:
git remote set-url origin git@gitlab.com:YOUR_GROUP/YOUR_PROJECT.git
将YOUR_GROUP/YOUR_PROJECT
替换为实际值。
另外,除非你在GitLab工作,否则你也不应该使用rafael@gitlab.com
或git@gitlab.com
作为提交电子邮件地址。您的提交电子邮件地址应该是属于您的有效电子邮件地址。
请注意,使用git config --global user.email EMAIL_ADDRESS
不会追溯更改您已经完成的任何提交的地址。此外,您可能设置了不带--global
标志的user.email
,这意味着它也存储在本地.git/config
中——如果是这种情况,则本地值将覆盖全局值。
(此外,GitLab用户名rafael
似乎属于其他人。你不应该在问题中使用其他人的名字。如果你不想分享你的真实用户名,请使用example
,这样每个人都知道它已经更改了。(