- 由于本人有连个git账号,个人github账号和公司gitlab账号,为了同时使用这两个账号,并且防止冲突,因此需要进行设置,如下:
6、git同时存在两个账号(在同一台电脑上)
- 由于本人有连个git账号,个人github账号和公司gitlab账号,为了同时使用这两个账号,并且防止冲突,因此需要进行设置,如下:
6.1 首先是常规设置
ssh-keygen -t rsa -C "youremail@example.com"
,生成的文件存储在~/.ssh/id_rsa
,然后一直回车,于是就可以在~/.ssh
下就可以看到有两个文件id_rsa和id_rsa.pub。
接下来就可以登录自己的github账号,将id_rsa.pub中的内容复制到github中的SSH框中,在setting->SSH and GPG keys->new SSH key,title随便取一个名字。接下来:
ssh-add ~/.ssh/id_rsa
于是就可以正常使用了。
6.2 同时添加两个账号
- 染成上面第一步后,接下来创建公司git账号的ssh秘钥
ssh-keygen -t rsa -C "email2@example.com"
,然后修改下图红色框中的位置,例如:/Users/schacon/.ssh/id_rsa_gitlab
完成后,就可以在/Users/schacon/.ssh/
下查看到四个文件:id_rsa
, id_rsa.pub
, id_rsa_gitlab
, id_rsa_gitlab.pub
。
- 将新生成的公钥id_rsa_gitlab.pub放置公司的个人账号的gitlab的ssh框中,在setting->SSH and GPG keys->new SSH key,title随便取一个名字。
由于ssh-agent默认只识别id_rsa,因此还需要添加秘钥id_rsa_gitlab,如下:
ssh-add ~/.ssh/id_rsa_gitlab
.
ssh-add ~/.ssh/id_rsa
- 添加这两个私钥很重要,最好都设置一下密码,否则可能会有冲突。
6.3 最后一步,配置~/.ssh/config文件
vim ~/.ssh/config
,添加内容如下:
# fisrt@qq.com
Host git@github.com
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa_github
# second@163.com
Host git@gitlab.com
HostName git.xiaojukeji.com
User git
IdentityFile ~/.ssh/id_rsa
如果还想要添加第三个账号,可以用相同的方式进行。
当你运行一个git push时,就可以在~/.ssh/下看到文件know_hosts了,这里存放着ssh-add的账号
6.4 补充:有时因为设置了全局账号,因此需要清除
例如,之前可能终端中运行了下列命令:
git config --global user.name "your_name"
git config --global user.email "your_email"
要想清除,可以直接删除上述命令生成的文件~/.gitconfig
,命令如下:
rm ~/.gitconfig