假设有2个github账号,mygithub(default)和mygithub2,要在同一个git客户端下使用,可按以下配置。
生成SSH Key
mygithub
的ssh key已按默认生成,对应id_rsa。再生成mygithub2
账号的ssh key,假设取名为mygithub2:
1 | cd ~/.ssh |
生成ssh密钥对之后,登录github,将公钥记录到mygithub2账户中。
添加多账号配置文件
创建文件~/.ssh/config
1 | cd ~/.ssh |
注意Host、HostName的差异。如果有其它代码托管平台的账号,如gitlab、gitee
,重新按以上步骤追加,填写相应的HostName、User和ssh key文件,并以不同的Host值区分。
使用多账号
使用时,对于默认账号mygithub
,用法不变:
1 | # 默认账号mygithub用法不变 |
对于mygithub2
,@github.com变成@mygithub2,因mygithub2
对应的Host是mygithub2。
1 | git clone git@mygithub2:mygithub2/helloWorld.git |
如下图,lzzeng
是我使用的第二github账号:
如果事先已clone下来,可修改远程仓库地址为 @mygithub2格式:
1 | cd helloWorld |
此外,因全局默认用户是mygithub
,如果想切换到mygithub2
用户的话:
1 | cd helloWorld |
补充
根据上述内容,可以完成git多账号配置并使用。另外,网上资料有提到ssh-agent
和ssh-add
,ssh-agent是一个密钥管理器,运行ssh-agent以后,使用ssh-add将私钥交给ssh-agent保管。
1 | ssh-agent bash # 启用ssh-agent shell |
(End)