当我们需要拉取远程服务器代码到本地服务器时,我们首先要确定已经配置了正确的Git账号,可以从~/.gitconfig文件(为隐藏文件,需要使用ls -a查看),以及~/.ssh下的id_rsa.pub来确定本地服务器上是否已经配置了正确的ssh key;
若无上述提到的文件:则需要在本地服务器上完成以下1~6步配置Git;
若有上述文件,则需要校对文件的正确性,即.gitconfig中账户及邮箱是否正确(可以使用用户名登陆GitLab则视为正确),id_rsa.pub是否为账户对应的ssh key,若否则参考下面的步骤,更改为正确的值即可;
【Linux服务器上配置Git完整过程】
1.git config --global user.name "****" ****替换为自己的用户名,是GitLab的登录用户名;
2.git config --global user.email xupp@***.com,完成1~2步可以使用“cat .gitconfig”查看设置是否生效,我的配置见下图;
3.cd ~/.ssh,如果目录下有文件id_rsa.pub 或 id_dsa.pub,可以手动编辑成自己的sshkey,也可以使用步骤4的命令,生成新的public key;
4.ssh-keygen -t rsa -C "xupp@***.com" -- 生成新的public key,xupp@***.com对应 .gitconfig文件中的email参数值;
5.id_rsa.pub文件内容即为SSH key,将这些信息复制到GitLab的Add an SSH key页面,新增一个Keys,Title中可以为该key设置一个别名,我自己习惯使用“用户名-应用名”的形式,随意定就好;
6.chmod 700 id_rsa,更改文件的权限,否则在git clone的时候会报“Permissions 0664 for ‘*******/.ssh/id_rsa‘ are too open.”的错;