1.若之前对 git 设置过全局的 user.name 和 user.email。类似(用git config --global --list 进行查看你是否设置)
一定要清除之前设置的用户和邮箱
$ git config --global --unset user.name "你的名字" $ git config --global --unset user.email "你的邮箱"
并且在各自项目下自己配置各自的邮箱
如果有2个邮箱注册了gitlab
1.1000348786@qq.com
2.39300533@qq.com
分配多个账号的时候就不要设置全局git配置
2.分别配置2个邮箱的密钥(打开git bash 更目录 创建 .ssh)
在ssh目录下生成公钥和私钥
ssh-keygen -t rsa -C "new email"
3.生成第一个可以一直enter,生成第2个邮箱的时候第一enter后,更改密钥的名字。id_rsa1
(将密钥配置到线上仓储就不说了。我的以前的文章有讲过)
4.执行ssh-agent让ssh识别新的私钥,将2个密钥都要添加进去
# 可以通过 ssh-add -l 来确私钥列表 $ ssh-add -l # 可以通过 ssh-add -D 来清空私钥列表 $ ssh-add -D
ssh-agent bash
ssh-add ~/.ssh/id_rsa1
5.多账号一定要配置config文件(如果不知道怎么创建可以从.git里面复制一个更改)
touch config # 创建config文件
6. ip可以改成你远程仓库的host ,
host 可以自定义名字
identityFile 就是你生成的密钥的地址和名称
#git1 Host git1 HostName 192.168.0.2 IdentityFile ~/.ssh/id_rsa #git2 Host git2 HostName 192.168.0.2 IdentityFile ~/.ssh/id_rsa1
7. 进行测试链接(git1就是你config中的host)
$ ssh -T git@git1
Welcome to GitLab,
如果出现一直让你输入密码,说明你的config 配置有错误
8.打开本地的仓库。链接线上仓库(test4是自定义的线上别名)如果不报错就不会有问题。
$ git remote add test4 git@git1:root/test1.git
$ git pull test4 master