问题

在mac上拉取项目出现一下问题,然后我输入密码还是这样的提示。

password: Permission denied, please try again.

分析解决

情况1:git地址为http协议:http://xxx.git

首先怀疑自己的账号或者密码更改了,因为拉取不同的环境下时常有这样的问题,比如windows下,有时就需要将凭据给删除掉,然后再次拉取就成功了。
查看账号和密码,打开mac终端。其实就是账户或者密码不对。

// 查看git用户名
git config --global user.name
// 查看git邮箱
git config --global user.email

发现邮箱是我的qq邮箱,但是拉取公司git代码都是用户的公司的邮箱,这里修改邮箱

想了想,邮箱为啥莫名其妙的改变了,之前翻墙拉取git的代码了,买的翻墙软件,填写的就是自己的qq邮箱。估计是那时候邮箱就被改了。

再次拉取公司代码,git clone http://xxxx.git拉取成功。

情况2:git地址为git协议:git@git.xxxxx.com:abc/xxx.git

如果git地址为git协议那么需要设置GitLab的SSH Key,才能将代码拉取到本地。
也可以简单粗暴一点将git项目的http地址复制下来进行项目的clone,这样就不用设置ssh key了。

第一步:打开Terminal(终端)查看本地是否已经有SSH Key

命令:cat ~/.ssh/id_rsa.pub

若没有,会提示no such file or directory

如果有,就删除,删除命令为:

cd ~
rm -rf .ssh

第二步:重新生成SSH Key

ssh-keygen -t rsa -C "your_email@example.com"

按3个回车,密码为空。
最后得到了两个文件:id_rsa和id_rsa.pub,这两个文件在户目录下面的.ssh目录下

Your identification has been saved in /Users/didi/.ssh/id_rsa.
Your public key has been saved in /Users/didi/.ssh/id_rsa.pub.

在这里插入图片描述

第三步:查看新生成的SSH Key,命令:

cat ~/.ssh/id_rsa.pub

此时出现多行密钥,从开头复制到邮箱后面结束。
第四步:登陆GitLab设置SSH Keys

进入GitLab,登陆,点击右侧自己头像,进入Settings。
(GitLab地址:自己项目的http的git地址,去掉后面的.git)
左侧导航栏点击SSH Keys,将复制的内容粘贴到Key下方框中。

此时,Title会自动将你的邮箱填入,这个地方是用来标记你用的哪台电脑生成的这个SSH Key。

点击 Add key,成功。
在这里插入图片描述
然后在终端进行

git clone git@git.xxxxx.com:abc/xxx.git

项目clone成功

总结

出现该问题gitclone出现password: Permission denied, please try again.
第一步:首先查看是否是账户名和邮箱错了,若是终端修改账户与邮箱。
第二步:如果账户名和邮箱或者密码正确,还是不行,则看git地址用的是git协议还是http协议。若是git则添加ssh key,也可以复制git项目的htpp地址进行clone,如果是http则一般第一步就可以了。

参考文章:
https://www.jianshu.com/p/ed88ed83a36f
https://blog.csdn.net/ahaotata/article/details/115082592

Logo

鸿蒙生态一站式服务平台。

更多推荐