一、背景
方便同一电脑操作自己的github,gitee仓库和公司的gitlab仓库。
二、操刀实践
1、生成不同仓库平台的sshkey
ssh-keygen -t rsa -C "xxx@126.com"
在目录:C:\Users\Domi.ssh下查看自己生成的第一个key
然后修改名称,可以加_github以示区分不同的sshkey
我的如下:
2、在生成key的目录下新增个文本文件config
(不需要后缀名;可以.txt文档,然后删除后缀),如上图中的config文档
具体配置如下:
Windows下面有两种路径方式配置,经测试均可以通过
经验之谈:Host内容和Hostname都配置成域名,要不然后面clone项目时还需要修改
##可缺省,此时ssh -T git@github.com,默认就是和拥有id_rsa.pub的github账号对接。
#github.com server
Host github.com
Hostname github.com
User DominicaT
IdentityFile C:\\Users\\Domi\\.ssh\\id_rsa
#gitee.com server
Host gitee.com
Hostname gitee.com
User domi
IdentityFile /C/Users/Domi/.ssh/id_rsa_gitee
说明:
Host 主机别名
HostName 服务器真实地址(域名即可:github.com;gitee.com)
IdentityFile 私钥文件路径(你的生成的具体id_rsa)
PreferredAuthentications 认证方式
User 用户名(这个是github你的登录名,点击你的github右上角图标弹出查看,不过去掉好像也能测试通过)
3、测试
Domi@DESKTOP-O MINGW64 /d/Test
$ ssh -T git@github.com
Hi DominicaT! You've successfully authenticated, but GitHub does not provide shell access.
Domi@DESKTOP-O MINGW64 /d/Test
$ ssh -T git@gitee.com
Hi domi! You've successfully authenticated, but GITEE.COM does not provide shell access.
4、clone项目到本地
这就是上面host和hostname为什么保持一致的原因
#之前的方式:单个账号
git clone git@github.com:domi / Springboot #缺省config配置时
git clone git@github.com:domi / Springboot #config配置后,等价于第一条语句
#现在要改为,git clone git@域名别称:用户名/项目名
git clone git@gitee.com:domi / Springboot //就是使用域名地址的别名来区分
5、上传项目到不同仓库
由于我的两个仓库用的都是同一个邮箱,若是两个仓库不同邮箱,不知道会有什么问题,以后结合公司的gitlab在尝试发现实践。
#全局配置
git config --list
git config --global user.name “Your name”
git config --global user.email your_email@gmail.com
Existing folder
cd existing_folder
git init
git remote add origin git@gitee.com:dominicaT/springbootDemo.git
git add .
git commit -m "Initial commit"
git push -u origin master
消除远程分支关联:
git remote rm origin
6、困恼已久的配置,终于手动配置一遍通了,可以顺利clone分支,上传分支,感觉真爽。
2020-05-22 22:29