1.创建密钥
#第一个密钥 其中 'xxx@xxx.com' 为仓库的用户名
$ ssh-keygen -t rsa -f C:/Users/用户名/.ssh/id_rsa -C 'xxx@xxx.com'
$ Overwrite (y/n)? y #如果出现这个选项 表示已经存在 可以选择覆盖也可以直接回车 推荐覆盖
#剩余的都可以直接回车
#再执行一次,第二个密钥
$ ssh-keygen -t rsa -f C:/Users/用户名/.ssh/id_rsa2 -C 'xxx@xxx.com'
2.把新生成的密钥,分别绑定到代码仓库中的ssh中;
以gitee为例:在自己电脑中,找到C:/Users/用户名/.ssh/ 目录下的.pub文件,打开文件,选择全选,复制到gitee公钥添加框中;
3.在密钥仓库中创建config文件
//可以手动创建或者通过命令行创建,一般路径为C:\Users\用户名\.ssh
$ cd ~/.ssh
$ touch config
$ vim config
4.在config文件中配置如下:
# 第一个账号
Host (选填)
HostName http://xxx.xxx.xxx.xxx/... (必填 第一个代码仓库地址)
User (选填 推荐填自己的中文名)
IdentityFile C:/Users/用户名/.ssh/id_rsa (必填 第一个代码仓库的密钥文件)
# 第二个账号
Host (选填)
HostName http://xxx.xxx.xxx.xxx/... (必填 第二个代码仓库地址)
User (选填 推荐填自己的中文名)
IdentityFile C:/Users/用户名/.ssh/id_rsa2 (必填 第二个代码仓库的密钥文件)
4.清空本地的 SSH 缓存,添加新的 SSH 密钥 到 SSH agent中
$ ssh-agent bash
$ ssh-add id_rsa
$ ssh-add id_rsa2
#执行命令后可能会报错 unable to start ssh-agent service, error :1058
#如果报错,在电脑中搜索 Power Shell 右键以管理员权限打开,并执行:
$ Set-Service -Name ssh-agent -StartupType automatic
#执行完成后,再次执行Git命令
$ ssh-agent bash
$ ssh-add id_rsa
$ ssh-add id_rsa2
#执行完成后,输入命令查看结果,出现两个自己代码仓库邮箱即成功
$ ssh-add -l
5.重新配置用户名/邮箱:
# 取消全局 用户名/邮箱 配置
$ git config --global --unset user.name
$ git config --global --unset user.email
# 进入项目文件夹,单独设置每个repo 用户名/邮箱
$ git config user.email "xxxx@xx.com"
$ git config user.name "xxxx"
6.完成后即可正常使用git更新提交代码