关联多个git账号的方法
参考博客,在此基础上,笔者还加了一些自己的备注
1 生成不同名字的ssh key
ssh-keygen -t rsa -f ~/.ssh/id_rsa_gitlab_UCD -C "yourmail@xxx.com"
复制pub文件内容到gitlab的ssh上
2 在.ssh文件夹下新建config编辑
-
host的前缀可以自定义,但是host name就要用gitlab的域名。前缀自定义后,clone时需要加上这个前缀,怪麻烦的,所以可以设置和host name一样。但这也限制了,同一个域名下,只能用一个gitlab账号。
-
IdentityFile放刚才生成的rsa地址
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~\.ssh\id_rsa
Host csgitlab.ucd.ie
HostName csgitlab.ucd.ie
PreferredAuthentications publickey
IdentityFile ~\.ssh\id_rsa_gitlab_UCD
ssh -T git@csgitlab.ucd.ie
ssh -T git@github.com
# Hi IEIT! You've successfully authenticated, but GitHub does not provide shell access.
# 出现上边这句,表示链接成功
3 取消全局 用户名和邮箱,进入文件夹再设置
# 取消全局 用户名/邮箱 配置
git config --global --unset user.name
git config --global --unset user.email
# 单独设置每个repo 用户名/邮箱
git config user.email “xxxx@xx.com”
git config user.name “xxxx”