一台电脑多git账号的使用配置
一般都会有个人的github账号和公司的gitlab或者gitee账号,之前一不小心自己的账号设置了global,用了私人账户去提交公司代码了,记录下配置方法,好记性不如烂笔头。
开始配置:(windows)
- 生成git ssh公私钥
ssh-keygen -t rsa -C "lxxg@xxx.com"
就会生成对应的 id_rsa 和 id_rsa.pub(默认的)
当生成多个的时候,下一步自定义文件名来区分对应的git网站
例:
Enter file in which to save the key (C:\Users\xxx/.ssh/id_rsa): C:\Users\xxx/.ssh/id_rsa_bwt
- 添加密钥配置 git bash
生成好多个账号的公私钥后,根据生成的文件挨个add
例:
ssh-add ~/.ssh/id_rsa
如果报 Could not open a connection to your authentication agent.
就执行下
eval $(ssh-agent -s)
ssh-add -l 查看 是否有多个ssh-rsa key了
- 在.ssh 文件夹下创建一个 config文件 (配置多个ssh-ras的配置)
Host bwt #(bwt是简称,随意命名,后面用)
HostName git.xxx.com
User xxx
IdentityFile ~/.ssh/id_rsa_bwt
Host github.com
HostName github.com
User xxx
IdentityFile ~/.ssh/id_rsa
- 关联登录下
ssh -T git@bwt
ssh -T git@github.com
(@后面就是 Host后面添加的简称)
关联后会自动生成一个known_hosts 文件
- 实际clone项目,会和平时不一样一点
如果配置了 --global 最好取消下
git config --global --unset user.name
git config --global --unset user.email
例子:
git clone git@bwt:xxx.xxx.git
git clone git@(这里就是之前所说的简称,到时会根据config配的去找对应的git网站)😒{实际的项目}.git
这样就配置完成了,如果你使用的是sourcetree的话就点击设置->高级 用户信息配置下对应的邮箱就好了