1. 清除 git 的全局设置(针对已安装 git)
新安装 git 跳过此步骤。
若之前对 git 设置过全局的 user.name 和 user.email。
类似 (用 git config --global --list 进行查看你是否设置)
$ git config --global user.name "你的名字"
$ git config --global user.email "你的邮箱"
必须删除该设置
$ git config --global --unset user.name "你的名字"
$ git config --global --unset user.email "你的邮箱"
2. 生成新的 SSH keys
- GitLab 的钥匙
ssh-keygen -t rsa -f c:\Users\Administrator\.ssh/id_rsa.gitlab -C "abc@qq.com"
- Gitee 的钥匙
ssh-keygen -t rsa -f c:\Users\Administrator\.ssh/id_rsa.gitee -C "abc@126.com"
- 完成后会在~/.ssh / 目录下生成以下文件
id_rsa.gitlab
id_rsa.gitlab.pub
id_rsa.gitee
id_rsa.gitee.pub
3.添加识别 SSH keys 新的私钥
这里需要用PowerShell
Set-Service ssh-agent -StartupType Manual
Start-Service ssh-agent
默认只读取 id_rsa,为了让 SSH 识别新的私钥,需要将新的私钥加入到 SSH agent 中
PS C:\Users\Administrator\.ssh> ssh-agent bash
PS C:\Users\Administrator\.ssh> ssh-add id_rsa.gitlab
Identity added: id_rsa.gitlab (id_rsa.gitlab)
PS C:\Users\Administrator\.ssh> ssh-add .\id_rsa.gitee
Identity added: .\id_rsa.gitee (.\id_rsa.gitee)
4. 多账号必须配置 config 文件(重点)
若无 config 文件,则需创建 config 文件
ni config
config 里需要填的内容
#Add gitLab user
Host gitlab.com
# 公司内网的host
HostName myNode
User git
IdentityFile ~/.ssh/id_rsa.gitlab
# gitee
Host gitee.com
Port 22
HostName gitee.com
User git
IdentityFile ~/.ssh/id_rsa.gitee
测试是否成功
config内容保存后执行
ssh -T git@gitlab.com