- 需要准备两个仓库,我这里使用
github和gitlab - 下面分别是两个仓库的不同的账号信息
- github
user.name=xxx
[email protected]
- gitlab
user.name=yyy
[email protected]
- 生成私钥和公钥,下面是生成的命令行,生成的私钥和公钥,我放在了
~/.ssh文件夹下面
ssh-keygen -t rsa -b 4096 -C "注释"
-
将生成的公钥(文件后缀是
.pub)分别在github和gitlab的SSH密钥中设置好 -
在
~/.ssh文件夹下面新增一个config文件,配置如下:
Host Github
HostName github.com
PreferredAuthentications publickey
User [email protected]
IdentityFile ~/.ssh/id_rsa
AddKeysToAgent yes
UseKeychain yes
Host Gitlab
HostName gitlab.com
PreferredAuthentications publickey
User [email protected]
IdentityFile ~/.ssh/id_rsa
AddKeysToAgent yes
UseKeychain yes
- 创建三个
.gitconfig文件,内容如下:
~/.gitconfig
[user]
name = "xxx"
email = "[email protected]"
[includeIf "hasconfig:remote.*.url:[email protected]:**/**"]
path = ".gitconfig-github"
[includeIf "hasconfig:remote.*.url:[email protected]:**/**"]
path = ".gitconfig-gitlab"~/.gitconfig-github
[user]
name = "xxx"
email = "[email protected]"~/.gitconfig-gitlab
[user]
name = "yyy"
email = "[email protected]"- 把密钥添加到ssh-agent的高速缓存中,命令行如下:
ssh-add ~/.ssh/id_rsa
- 这样就行了