git相信大家都在用,一般公司有一个账号,放公司自己架的服务器中,员工自己还有一个github或者gitee的账号,存放自己的一些私有代码。本篇文章总结一下,本人在公司开发机上,使用多个git账号的干货,有需要的可以参考参考,避免采坑。
- 将以前设置的global name、email全部取消掉。
git config --global --unset user.name
git config --global --unset user.email
- 删除本机账户目录下的.ssh目录下的id_rsa以及id_rsa.pub
以windows为例 存放目录为:
- 分别为公司git账号以及私人git账号生成ssh秘钥
ssh-keygen -t rsa -C "公司账号"
ssh-keygen -t rsa -C "私人账号"
- 不要一路enter 在提示输入秘钥名的地方 分别输入 id_rsa_work id_rsa_gitee 这样就会生成对应的秘钥
- 添加私钥
默认自动识别名为id_rsa的秘钥,更名之后 需要自行手动添加
ssh-add ~/.ssh/id_rsa_work
ssh-add ~/.ssh/id_rsa_gitee
其中~为当前用户目录,也可以输入绝对详细路径
如果添加的时候 报错 "Could not open a connection to your authentication agent" 需要 执行以下命令
ssh-agent bash
然后再执行ssh-add上方的命令即可 - 创建config文件 为每个账号添加服务地址
里面的内容
Host 公司git服务的ip地址
Port 公司git服务的端口号
HostName 自己取名字
PreferredAuthentications publickey
User git账号
IdentityFile ~/.ssh/id_rsa_work
Host github.com
HostName github.com
PreferredAuthentications publickey
User 4896290004@qq.com
IdentityFile ~/.ssh/id_rsa_github
Host gitee.com
HostName gitee.com
PreferredAuthentications publickey
User 4896290004@qq.com
IdentityFile ~/.ssh/id_rsa_gitee
- 将ssh pub 秘钥 放进 gitee 或者 gitlab 或者 github的ssh 配置中