git 同时支持 gitlab 与 github 或者 gite
2024-03-24 本文已影响0人
who_are_you_
简介
在开发中,可能存在多种代码托管平台的切换问题,这里做个记录。
邮箱不同的情况下:
第一步、清除已有的全局配置
// 清除全局name
git config --global --unset user.name
// 清除全局email
git config --global --unset user.email
第二步、分别生成指定命名的SSH key
// 生成gitlab 密钥
// -t rsa 指定密钥类型为RSA
// -f ~/.ssh/gitlab 指定密钥文件的路径为.ssh和文件名gitlab
// gitlab
ssh-keygen -t rsa 'gitlab邮箱' -f ~/.ssh/id_gitlab
// 如果邮件不同可以再生成,但是文件名要求不相同
// github
ssh-keygen -t rsa 'github邮箱' -f ~/.ssh/id_github
第三步、同时将两个SSH key分别添加到Github和Gitlab的配置中
获取ssh 密钥
// 1、进入ssh文件
cd ~/.ssh
// 2、查看当前文件夹中的文件
ls
// 3、获取gitlab ssh 密钥,需要用到第二部的命名,查看id_gitlab.pub密钥
cat id_gitlab.pub
// 4、复制去下边官网,按照官网的提示配置ssh
第四步、在.ssh文件夹中创建config文件,用于配置两边能找到对应的 ssh key
1、进入ssh
cd ~/.ssh
2、查看文件\可以看到ssh目录
ls
3、键盘切换英文,按下‘i’进入编辑模式,编辑config文件
vi config
4、复制配置下边的数据,到config文件,编辑完成按下esc,然后输入:wq 保存配置
Host gitlab
# 别名,最好别改
HostName https://gitlab.公司gitlab域名.com
#要连接的服务器
User 可以随便写但是不能一样
#用户名
#密钥文件的地址,注意是私钥
IdentityFile ~/.ssh/id_gitlab
#github 配置
Host https://github.com
#别名
HostName https://github.com
User xxx 写自己的用户名
IdentityFile ~/.ssh/id_github
IdentitiesOnly yes
PreferredAuthentications publickey
#gitee 配置
Host https://gitee.com
#别名
HostName https://gitee.com
User xxx 写自己的用户名
IdentityFile ~/.ssh/gitee_rsa
IdentitiesOnly yes
PreferredAuthentications publickey
5、把专用密钥添加到 ssh-agent 的高速缓存中
// gitlab
ssh-add ~/.ssh/id_gitlab
// github
ssh-add ~/.ssh/id_github
6、查看ssh-agent中的密钥:
ssh-add -l
测试连接命令,返回自己的名字,或者运行成功不抱错就OK
// gitlab
ssh -T git@gitlab.自己公司的域名.com
// github
ssh -T git@github.com
// gitee
ssh -T git@gitee.com
最后一步配置全局git
git config --global user.name '用户名'
git config --global user.email "your_email@example.com"
最后一步配置局部git
git config --local user.name '用户名'
git config --local user.email "your_email@example.com"
查看配置
// 全局
git config --global --list
// 局部
git config --local --list