个人给git配置两个gitee账号的踩坑总结, 此过程参考多个帖子(文末备注), 本文旨在把配置成功的步骤记录一下并分享给有需要的小伙伴
清空默认全局的username和email(没有设置过,忽略即可)
第一步:查看已配置的git列表
git config --list
第二步: 清空默认的用户名和邮箱
git config --global --unset user.name
git config --global --unset user.email
生成不同git账户生成ssh-key [此处,生成了一个公司账号,一个个人账号]
第一步:生成ssh-key
使用默认的名字(id_rsa)
ssh-keygent -t rsa -C "[输入邮箱地址]"
例如: ssh-keygen -t rsa -C "lilei@163.com"

多个账号时名字要不同 [邮箱是gitee/github/gitlab上设置的邮箱账号]
ssh-keygent -t rsa -f ~/.ssh/id_rsa_personal -C "[输入邮箱地址]"
例如1: ssh-keygen -t rsa -f ~/.ssh/id_rsa_personal -C "lilei@163.com"
例如2: ssh-keygen -t rsa -f ~/.ssh/id_rsa_company -C "873458394@qq.com"
注意⚠️: 执行上述命令后若出现
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase):
直接按回车键, 之后会显示
Enter same passphrase again:
同样再按回车键即可, 紧接着会提示如下内容, 代表成功了
Your identification has been saved in XXX
Your public key has been saved in XXX
The key fingerprint is XXX

第二步:添加到信任列表
例如对于公司的账号:
ssh-add ~/.ssh/id_rsa
例如对于个人的账号:
ssh-add ~/.ssh/id_rsa_personal
操作成功会提示
Identity added: /XXX/.ssh/id_rsa (邮箱地址)
Identity added: /XXX/.ssh/id_rsa_personal (邮箱地址)
若提示Permissions 0644 for '/Users/xxx/.ssh/id_rsa' are too open,使用命令改下私钥权限即可
chmod 400 ~/.ssh/id_rsa
chmod 400 ~/.ssh/id_rsa_personal
配置gitee的SSH
第一步:查询公钥
查公司: cat ~/.ssh/id_rsa.pub
查个人: cat ~/.ssh/id_rsa.pub_personal
输入命令后,会得到以ssh-rsa开头的公钥,全部复制
第二步:在右上角账号设置里面,找到安全设置下面的SSH公钥, 进行配置



第三步:在config文件中配置多个账号
.ssh 下若已存在config 直接打开编辑,生成了几个账户的ssh-key 配置几组
不存在则先创建, 注意⚠️没有任何后缀名
touch config
Host 可以理解为 一个别名,clone 时用于区分多个gitee账号的
HostName 主机名,必须写正确,git公有地址
如果是gitee配置gitee.com
如果是github账号配置 github.com
IdentityFile rsa具体路径地址
User 任意,最好和host中配置的(.gitee.com前面的内容)一致
# 公司
Host company.gitee.com
HostName gitee.com
IdentityFile ~/.ssh/id_rsa_company
User company
# 个人
Host me.gitee.com
HostName gitee.com
IdentityFile ~/.ssh/id_rsa_personal
User me
第四步: 测试连接
单个账号
ssh -T git@gitee.com
多个账号
ssh -T git@[此处填写config文件中配置的user]@gitee.com
例如对于公司账号 ssh -T git@company@gitee.com
例如对于个人账号 ssh -T git@company@gitee.com
如何clone
单个账号 , 使用https和SSH都可以
https
git clone https://gitee.com/lilei/test-project.git
SSH
git clone git@gitee.com:lilei/test-project.git
配置了多账户的git , 不能用https的方式clone , 需要使用SSH方式区分不同的账号
例如,config中Host 配置的是 me.gitee.com
SSH
git clone git@me.gitee.com:lilei/test-project.git
参考文章链接:
https://www.jianshu.com/p/698f82e72415
https://www.cnblogs.com/simono/p/15589643.html
https://blog.youkuaiyun.com/a643926754a/article/details/125918669