发布时间:2020-04-11 19:20:47来源:阅读:
当有多个git账号的时候,比如一个github,用于自己进行一些开发活动,再来一个gitlab,一般是公司内部的git。这两者你的邮箱如果不同的话,就会涉及到一个问题,生成第二个git的key的时候会覆盖第一个的key,导致必然有一个用不了。
我们可以在~/.ssh目录下新建一个config文件配置一下,就可以解决问题
ssh-keygen -t rsa -C "yourmail@gmail.com"
这里不要一路回传,让你选择在哪里选择存放key的时候写个名字,比如 id_rsa_github,之后的两个可以回车。
完成之后我们可以看到~/.ssh目录下多了两个文件
ssh-keygen -t rsa -C "yourmail@gmail.com"
还是一样不要一路回车,在第一个对话的时候继续写个名字,比如 id_rsa_gitlab,之后的两个可以回车。
完成之后我们可以看到如2中图所标记,一样出现两个文件。(一个公钥一个私钥)
打开ssh-agent这里如果你用的github官方的bash,ssh-agent -s,如果是其他的,比如
msysgit,eval $(ssh-agent -s)
ssh-add ~/.ssh/id_rsa_github
ssh-add ~/.ssh/id_rsa_gitlab
创建并修改config文件
在windows下新建一个txt文本,然后将名字后缀一起改成config即可
在bash下的话直接touch config 即可。
添加一下内容
# gitlab
Host git.iboxpay.com
HostName git.iboxpay.com //这里填你们公司的git网址即可
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_gitlab
User zhangjun
# github
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_github
User ZJsnowman
在github和gitlab上添加公钥即可,这里不再多说。
测试
PS:如果到这里你没有成功的话,别急,教你解决问题的终极办法–debug
比如测试github,ssh -vT git@github.com
-v 是输出编译信息,然后根据编译信息自己去解决问题吧。就我自己来说一般是config里的host那块写错了。
如果之前有设置全局用户名和邮箱的话,需要unset一下
git config --global --unset user.name
git config --global --unset user.email
然后在不同的仓库下设置局部的用户名和邮箱
比如在公司的repository下git config user.name “yourname” git config user.email “youremail” 在自己的github的仓库在执行刚刚的命令一遍即可。
这样就可以在不同的仓库,已不同的账号登录。
DesktopDigitalClock桌面数字时钟
214 KB
Digital Fusion下载
97.3M
Camtasia Studio v9.1绿色汉化破解版下载(附激活密钥)
187.24MB
MyKeyFinder下载(密钥搜索工具) v7.0 官方版
6.6M
h3c模拟器(网络虚拟环境配置工具) 1.5.2 正式版
59.1M
文管王办公仓库管理系统
5.93 MB
猎豹免费wifi(WiFi连接工具) 5.1.17080111 正式版
10.29MB
ADSL宽带拨号王 v6.0.0.0
1.79 MB
BlueTour(蓝牙驱动工具)下载 v2.0.0.22官方版
2.0M
TechSmith Snagit(屏幕捕捉软件)2021.1.0 破解版
305.9M
VMware Fusion 12下载
611MB
windows远程工具 v6.1.7600.16385
3.15 MB
天翼宽带客户端
15.59 MB
2020-07-11
ThinkPad -- 键盘问题的一般解决方法
如何调整合成器内应用程序音量控制
Ubuntu 12.04使用Squid创建HTTP代理
58 赶集基于 Docker 的自动化部署实践
如何恢复QQ视频默认设置
Office顾问启航版光盘安装步骤(2011-02-11更新)
Yoga 如何创建无线ADSL拨号上网
E47指纹识别如何录入?
适用于台式机的Lenovo Nerve Center越权漏洞