我们在日常开发中,有可能会有多个 git 账号,比如说工作一个账号,私人一个账号。对于多个账号我们可以使用配置 ssh 的方法来管理。比如说我上班的时候一个码云账号,下班玩自己的东西的时候又是自己的码云账号或者 github 账号。下面说说怎么本地配置多个git账号。 网上看了很多人的,感觉都描述的很杂乱,所以决定自己写一份,顺便笔记下。
1、生成/添加公钥
git config --global user.name "xxxxx"
git config --global user.email xxxxx@email.com
如果本地.ssh文件没有,先执行这代码
ssh-keygen -t rsa
命令: ssh-keygen -t rsa -C "你的邮箱地址"。
正常情况下我们配置单个公钥的时候,输入上面的命令,直接各种回车回车就ok了。但是设置多个公钥一定要区分名字,重要的事情说三遍:
设置多个公钥一定要区分名字!!!!
设置多个公钥一定要区分名字!!!!
设置多个公钥一定要区分名字!!!
上面这个图,我设置了两个公钥的名字
- 一个叫做:id_ras_github
- 一个叫做:id_ras_osc
我这边把隐藏文件打开,从目录结构可以很清晰的看到,有两个公钥。当然在命令行里面也可以看到 cd 到
~/.ssh
然后ls
就能看到刚刚生成的目录
2、接下来就是把公钥的内容复制到github和码云上
命令:cat ~/.ssh/id_rsa_github.pub
命令:cat ~/.ssh/id_rsa_osc.pub
将 ssh-rsa到你邮箱地址的这一串,添加到github和码云的公钥里面。一般都是在我-->设置-->ssh公钥
3、创建配置文件
接下来也是最重要的一步,细心的朋友可能前面就看到了,我的 .ssh 目录比你们多了一个 config的文件。这个文件就是用来路由不同账号到不同的git上。跟着我的步骤,最后一步了,很快就好~~
进入到 .ssh目录 : cd ~/.ssh
创建config文件: touch config
编辑config文件: vim config
将底下这些拷贝到config里面
#github
Host github.com
HostName github.com
IdentityFile ~/.ssh/id_rsa_github
User radish
#osc
Host gitee.com
HostName gitee.com
IdentityFile ~/.ssh/id_rsa_osc
User radish
host、HostName代表的是目标地址,也就是它的ip,当然我们是不知道github的ip是多少,我们就直接用域名。
IdentityFile: 这边一定要对应好生成的文件目录地址。很重要,很重要!!!!!
User: 想写啥名字都可以 -。-
小技巧: vim如何退出?????
当按了 i 健后,左下角会出现insert状态,如底下的图。
这时候按 esc,然后 :wq 记得 冒号+wq
完美~~~
到这里就配置结束了。作为一名开发人员,当然会对自己的东西做一份测试~在终端分别输入这两个命令测试是否配置成功:
命令:ssh -T git@github.com
命令:ssh -T git@gitee.com
如此就配置成功了~~