刚到新公司要用gitlab,我个人代码一直放在码云上。我在外包银行主场开发,银行内网用的gitlab,我平时用码云。
今天在开发自己的小程序时,推送代码一直报错,百度之后,是使用了gitlab的原因,导致本地不能和码云建立连接。
现在要为不同的平台匹配不同的公钥。
第一、删除git上的账户名和邮箱
1 | 用git config --global --list 进行查看你是否设置 |
我的删除了,如果没删除请删除
删除用户名和邮箱
1 2 | $ git config --global --unset user.name "你的名字" $ git config --global --unset user.email "你的邮箱" |
第二,为gitlab和码云生成公钥,即生成新的 SSH keys
生成sshkey的方法
1 | ssh-keygen -t rsa -C "[email protected]这里写你的邮箱" |
注意,我现在连的外网,为码云的生成ssh-key
回车
然后输入sshkey存放的地址以及名称,‘ /c/Users/kc/.ssh/gitee_id_rsa’
然后再回车回车,
就生成了
切换到内网
重复上面的操作
第三部、添加识别 SSH keys 新的私钥
默认只读取 id_rsa,为了让 SSH 识别新的私钥,需要将新的私钥加入到 SSH agent 中
1 2 3 | $ ssh-agent bash $ ssh-add ~/.ssh/github_id_rsa $ ssh-add ~/.ssh/gitlab_id_rsa |
第四部、多账号必须配置 config 文件
若无 config 文件,则需创建 config 文件
执行下面操作
1 | $ touch ~/.ssh/config |
打开这个文件,我用vscode打开的 把这些复制进去,不能完全照搬啊啊啊
····················································································
#Default gitee user Self
Host gitee.com 我用的码云,你可以是github
HostName gitee.com 我用的码云,你可以是github
User git 这里不用动
IdentityFile ~/.ssh/gitee_id_rsa 文件名需要修改 改成gitee_id_rsa
#Add gitLab user
Host 128.160.171.23 这是公司内网gitlab的地址
HostName 128.160.171.23 这是公司内网gitlab的地址
User git
IdentityFile ~/.ssh/gitlabnei_id_rsa 文件名需要修改 改成gitlabnei_id_rsa
····················································································
这样就配置好了config文件
第五步、在github和gitlab网站添加ssh
这一步不会的,请百度,我不写了,注意切换内外网
第六步、测试是否连接成功
测试内网gitlab
1 | ssh -T 128.160.171.23 |
外网 记得切换啊啊啊啊
ok.成功了!
本人参考了这个https://blog.csdn.net/qq_30227429/article/details/80229167