當我們需要拉取遠程服務器代碼到本地服務器時,我們首先要確定已經配置了正確的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.”的錯;