首先需要清空全局设置的git账号邮箱
git config --global --unset user.name
git config --global --unset user.email
在对应的项目里面设置当前的账号邮箱
git config --local user.name "xxxx"
git config --local user.email "xxxx"
1.给公司账户生成ssh key,其中email@work_mail.com是标签名,id_rsa_work_user1是文件名,这个大家可以自己随意设置
ssh-keygen -t rsa -C "email@work_mail.com" -f "id_rsa_liyu_work"
2.给自己账户生成ssh key
ssh-keygen -t rsa -C "liyu" -f "id_rsa_liyu"
3.查看 ~/.ssh目录下面是否有生成的密钥文件,如果生成刚才命名的文件则说明ssh key创建成功,然后使用 cat xxxxxx.pub
复制ssh key
4.然后登录不同的github账号,把对应的ssh key设置到github中
5.SSH 配置文件将在 ~/.ssh/config 中。如果有的话,请编辑它,否则我们可以直接创建它。
cd ~/.ssh/
touch config
code config //此命令是使用vscode打开,如果没有这些使用vim也可。
Host是别名,看自己怎么起名,IdentityFile是映射到刚才我们生成的不同ssh key文件
Host git_personal
HostName github.com
IdentityFile ~/.ssh/id_rsa_liyu
Host git_work
HostName github.com
IdentityFile ~/.ssh/id_rsa_liyu_work
使用ssh -T git@git_personal
查看是否映射成功,如果返回了对应git账号名,那说明映射成功。
这样在使用git命令clone项目的时候,例如之前的clone命令是这样
git@github.com:lxulxu555/liyu_component.git
那我们只需要改成这样即可,把@和:中间的值换成在config设置的key name
git clone git@git_personal:lxulxu555/liyu_component.git