git多账号设置-GitHub&Gitee
git多账号设置-GitHub&Gitee
内容涵盖
1. 生成密钥
2. GitHub与Gitee的网页配置公钥
3. Git本地配置私钥
4. 测试连接
生成密钥
清除原本的git全局配置
通常git全局配置命令如下所示。
git config --global user.name "zhangfangxing" // 配置全局用户名,如 Github 上注册的用户名
git config --global user.email "331325797@qq.com" // 配置全局邮箱,如 Github 上配置的邮箱
查看git全局配置命令如下所示。
git config --global --list
清除之后输出内容如下所示。

生成密钥对
所谓密钥对是本地git与GitHub或Gitee进行连接时使用的RSA非对称加密密钥对,即本地存储一个私钥,给予GitHub或Gitee一个公钥。每次提交的时候GitHub与Gitee都会比对公钥与私钥。比对成功即可正常使用GitHub或Gitee。
首先我们开始生成 github 上的仓库钥对,通过 -C 参数填写 github 的邮箱:
ssh-keygen -t rsa -C “zhang_fangxing@163.com”
输入回车键后需输入保存的地址和路径和文件名如下图所示。

也可自行进行输入,这个存储的文件在整体配置项目之后可以自行进行删除,并不影响git缓存之中的内容。不过要注意删除文件的话不要清除git的账号缓存,否则无法正常使用。笔者选择删除了文件,只用缓存运行。
单独更改一下输出rsa的名字test_rsa之后,需要输入相关密码,再次回车后需要再次输入密码,如下图所示。

至此笔者生成了两套ras文件如下图所示。

GitHub与Gitee的网页配置公钥
Github网页配置
选择用户设置如下图所示。

在用户设置之中选择SSH and GPG keys 如下图所示。

选择新建 SSH KEY 如下图所示。

输入SSH KEY的相关内容如下图所示。

其中Title为可以随意编写的内容,Key中粘贴上一小节提供的.pub文件内全部的数据。
Gitee网页配置
Gitee处选择设置

选择设置之后,在左侧有SSH公钥按钮如下图所示。

只需要在这其中如同Github一样将自身的.pub文件粘贴到这其中即可。
Git本地配置私钥
使用下述代码添加本地私钥进本地Git。
ssh-add ~/.ssh/id_zfx_github_rsa // 将 GitHub 私钥添加到本地
ssh-add ~/.ssh/id_zfx_gitee_rsa // 将 Gitee私钥添加到本地
添加完毕后,可以通过执行下述代码进行验证。
ssh-add -l
这里需要注意一下,笔者用的mac电脑通过brew自动装配的Git,配置至此就结束了。但是网络上各种博客很多说需要使用ssh的config文件,下面内容笔者没进行操作,可斟酌考虑。
编辑 ~/.ssh 目录下的 config 文件,如果没有则请创建。配置内容如下所示。
Host github
HostName github.com
User jitwxs
IdentityFile ~/.ssh/id_rsa_github
Host gitlab
HostName gitlab.mygitlab.com
User lemon
IdentityFile ~/.ssh/id_rsa_gitlab
该文件分为多个用户配置,每个用户配置包含以下几个配置项:
Host:仓库网站的别名,随意取
HostName:仓库网站的域名(PS:IP 地址应该也可以)
User:仓库网站上的用户名
IdentityFile:私钥的绝对路径
注: Host 就是可以替代 HostName 来使用的别名。
测试连接
可以用 ssh -T 命令检测下配置的 Host 是否是连通的,代码如下所示。
ssh -T github.com
ssh -T gitee.com
成功效果如下所示。

GitHub此刻可以正常pull命令,clone,add,commit,push都可以使用,但是因为网速的事情经常会测试连接失败,值得一提的是,此刻我连GitHub网页都打不开了。但是通过命令仍然可以进行pull之类的操作。

最后笔者上传的文件如下所示。

这里值得一提的是,GitHub和Gitee毕竟是两个仓库,所以本地还是需要两个文件夹分别存放两个仓库。通常上传文件之前需要在GitHub或Gitee新建两个仓库,并且clone下来,再在里面提交。笔者是这样操作的。如果有其他更好的操作的小伙伴,可以给笔者发邮件:zhang_fangxing@163.com。
clone时选择的是HTTPS如下图所示。

java交流群:
1074468813
